Filter 使用Symfony中的Finder递归地仅查找包含文件的目录

Filter 使用Symfony中的Finder递归地仅查找包含文件的目录,filter,directory,symfony,finder,Filter,Directory,Symfony,Finder,我正在构建一个脚本来导入图像集。每个图像集都包含在一个目录中,但最深目录的深度未知。它可以是1、2、3、4或更多 现在我想使用symfonyfinder组件来获取最深目录的列表。因此,我可以过滤出该目录中的图像并对它们进行分组 或者,更好的解决方案是使用以下方法过滤掉所有图像: $files = Finder::create() ->in($path) ->files() ->date('until 1 hour ago') ->name(

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

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

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

$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', ...],
    ...
]