使用Symfony中的Finder以递归方式查找包含文件的目录

时间:2016-07-24 08:51:23

标签: filter directory symfony finder

我正在构建一个脚本来导入图像集。每个图像集都包含在一个目录中,但最深层目录的深度是未知的。它可能是1,2,3,4或更多。

现在我想使用Symfony Finder组件来获取最深层目录的列表。所以我可以过滤出该目录中的图像并对它们进行分组。

或许更好的解决方案是使用以下方法过滤掉所有图像:

$files = Finder::create()
    ->in($path)
    ->files()
    ->date('until 1 hour ago')
    ->name('/\.(' . implode('|', $this->extensions) . ')$/')
    ->exclude('.gitignore');

但是现在我有一个包含所有图像的数组,但我需要将它们分组为最深的目录,以便我有一个多维数组,其中最深的目录为关键字。例如:

[
    '/path1/path2' => ['/path1/path2/img1', '/path1/path2/img2', ...],
    '/path1/path3/path4' => ['/path1/path3/path4/img3', '/path1/path3/path4/img4', ...],
    ...
]

0 个答案:

没有答案