编程语言
首页 > 编程语言> > php – 自动包含/要求所有目录下的所有文件

php – 自动包含/要求所有目录下的所有文件

作者:互联网

我想在所有目录下自动包含/要求所有.php文件.例如:

(目录结构)

-[ classes
    --[ loader (directory)
        ---[ plugin.class.php
    --[ main.class.php
    --[ database.class.php

我需要一个自动加载以.php结尾的所有文件的函数

我尝试了各种各样的:

$scan = scandir('classes/');
foreach ($scan as $class) {
    if (strpos($class, '.class.php') !== false) {
        include($scan . $class);
    }
}

解决方法:

好吧,如果你想包含所有甚至在子目录中的某些结尾的php文件,你必须做一个递归函数.像这样的东西:

function load_classphp($directory) {
    if(is_dir($directory)) {
        $scan = scandir($directory);
        unset($scan[0], $scan[1]); //unset . and ..
        foreach($scan as $file) {
            if(is_dir($directory."/".$file)) {
                load_classphp($directory."/".$file);
            } else {
                if(strpos($file, '.class.php') !== false) {
                    include_once($directory."/".$file);
                }
            }
        }
    }
}

load_classphp('./classes');

标签:autoloader,php
来源: https://codeday.me/bug/20190722/1506311.html