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

在PHP中读取文件夹和子文件夹中的json内容,php,json,Php,Json,我有一个文件夹树,带有JSON Folder1 info.json Subfolder1 info.json Subfolder2 info.json Folder2 info.json Subfolder1 info.json Subfolder2 info.json 然后,我想浏览文件夹,阅读info.json,保存内容(我知道怎么做,使用decode_json()),

我有一个文件夹树,带有JSON

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函数),然后读取列表中的每一行。。。但这是非常复杂的

有什么想法吗


谢谢

您可以将递归全局函数用作: (见php文档)


返回一个带有路径的文件数组

您能告诉我们您到目前为止尝试了什么吗?我想使用locate info.json>list.txt保存命令的输出,如我所说,然后在php中打开文件,并通过行循环访问每个info.json(也打开它并获取内容)然后我使用php函数json_decode将信息提取到一个数组中。。。但是我遇到了麻烦,因为我不知道如何传递JSONTH函数的文件路径,该函数首先返回info.json,然后依次返回每个子文件夹的每个json?
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 */ }