需要多个文件

时间:2011-07-09 23:06:30

标签: php include require

我正在构建一个使用选择菜单构建电子邮件模板的PHP应用程序。模板被分解为可重用的部分(每个都是一个单独的html文件)。是否有一种简单的方法来要求具有一个表达式的多个文件? (我的PHP真的很生锈......)

基本上我想做类似的事情:

function require_multi() {
    require_once($File1);
    require_once($File2);
    require_once($File3);
    require_once($File4);
}

3 个答案:

答案 0 :(得分:13)

好吧,你可以把它变成一个函数:

function require_multi($files) {
    $files = func_get_args();
    foreach($files as $file)
        require_once($file);
}

像这样使用:

require_multi("one.php", "two.php", ..);

但是,如果您要包含课程,更好的解决方案是使用autoloading

答案 1 :(得分:6)

Tom Haigh致信how to require all files in a folder?

$files = glob( $dir . '/*.php' );
foreach ( $files as $file )
    require( $file );

将所有必需的文件存储在$dir中,上述代码将完成剩下的工作。

答案 2 :(得分:1)

编辑:

因为您想要或包含多个文件,所以可以使用此递归 算法将文件包含在指定的文件夹中。该文件夹是启动的根目录 迭代器。因为算法是递归的,所以它会自动遍历所有 后续文件夹并包含这些文件。

public function include_all_files($root) {
    $d = new RecursiveDirectoryIterator($root);
    foreach (new RecursiveIteratorIterator($d) as $file => $f) {
        $ext = pathinfo($f, PATHINFO_EXTENSION);
        if ($ext == 'php' || $ext == 'inc')
            include_once ($file); // or require(), require_once(), include_once()
    }
}

include_all_files('./lib');