为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

PHP
森林海 2023-08-26 10:19:41
我试图在 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 等)和子目录的方法。任何帮助表示赞赏。谢谢!
查看完整描述

1 回答

?
红颜莎娜

TA贡献1842条经验 获得超12个赞

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


查看完整回答
反对 回复 2023-08-26
  • 1 回答
  • 0 关注
  • 79 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信