在PHP中读取文件夹和子文件夹中的json内容

时间:2015-01-21 19:50:31

标签: php json

我有一个文件夹树,有jsons

Folder1
    info.json
    Subfolder1
         info.json
    Subfolder2
         info.json

Folder2
    info.json
    Subfolder1
         info.json
    Subfolder2
         info.json

然后,我想浏览文件夹,阅读info.json,保存内容(我知道如何操作,使用decode_json()),然后在进入nex文件夹之前,输入子文件夹第一个文件夹(每个文件夹中有3个或4个孩子,大约10个文件夹)

我考虑阅读每个info.json的完整路径并将其保存在列表中(例如在linux终端中使用locate函数)然后读取列表的每一行......但它非常复杂

任何想法?

感谢

1 个答案:

答案 0 :(得分:0)

您可以使用递归glob函数: (参见php doc http://in.php.net/manual/en/function.glob.php#106595

function glob_recursive($pattern, $flags = 0) {
    $files = glob($pattern, $flags);

    foreach (glob(dirname($pattern) . '/*', GLOB_ONLYDIR | GLOB_NOSORT) as $dir) {
        $files = array_merge($files, glob_recursive($dir . '/' . basename($pattern), $flags));
    }

    return $files;
}

$files = glob_recursive('/path/to/folder/*.json');
foreach($files as $file) { /* Do stuff */ }

使用路径

返回文件数组