扫描文件夹并从文件夹加载文件

时间:2015-12-15 19:34:15

标签: php arrays json recursion array-merge

我有一个文件夹结构:

- components
--com_name
---routes
----routes.json
--com_another_name
---routes
----routes.json
...
--com_x
---routes
----routes.json

如何从每个com_x文件夹加载每个routes.json文件并合并到一个数组? 谢谢!

1 个答案:

答案 0 :(得分:1)

使用迭代器,如下所示。递归查找json文件:

$path = realpath($pathToYourMainDir);

$directoryIterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($path));
$regexIterator = new RegexIterator($directoryIterator, '#^(?:[A-Z]:)?(?:/(?!\.Trash)[^/]+)+/[^/]+\.(?:json)$#Di');
$files = [];

foreach ($regexIterator as $file) {
    array_push($files, $file->getPathName());
}

$ files包含json文件名(包括路径)。