包含文件夹中的所有文件 - PHP

我试图在 php.ini 中包含另一个文件夹中的一个文件夹中的所有文件。这是我当前的目录结构:


> folder1

  main.php

> folder2

  > folder3

  someFile.php

  someFile2.php

  someFile3.json

我尝试这样做:


include "../folder2/";

这(仅包括 php 文件):


foreach (glob("classes/*.php") as $filename)

{

    include $filename;

}

从main.php,我想包含所有内容folder2/,包括子文件夹:folder3以及 中的 php 和 json 文件folder2/。我看过其他堆栈溢出问题并了解 for 循环方法,但还没有找到包含不同文件类型(.php、.json 等)和子目录的方法。任何帮助表示赞赏。谢谢!


森林海
浏览 80回答 1
1回答

红颜莎娜

PHPinclude不应用于其他文件类型,例如.json. 要从这些文件中提取数据,您需要使用类似file_get_contents. 例如:$data = json_decode(file_get_contents('someFile3.json'));要递归地将 PHP 文件包含在其他目录中,您可以尝试递归搜索所有目录:function require_all($dir, $max_scan_depth, $depth=0) {    if ($depth > $max_scan_depth) {        return;    }    // require all php files    $scan = glob("$dir/*");    foreach ($scan as $path) {        if (preg_match('/\.php$/', $path)) {            require_once $path;        }        elseif (is_dir($path)) {            require_all($path, $max_scan_depth, $depth+1);        }    }}$max_depth = 255;require_all('folder3', $max_depth);此代码是此处代码的修改版本:https ://gist.github.com/pwenzel/3438784
打开App,查看更多内容
随时随地看视频慕课网APP