我正在建立一个拥有"画廊"带图像的文件夹。在"画廊内#34;文件夹还有其他子文件夹,每个图像类别一个。例如:
gallery
|---foo
|---bar
|---cat
在这些文件夹中,其他一些图像的名称以#34;幻灯片显示_"开始。
我想编写一个脚本来搜索" gallery"中的所有文件夹。并在数组变量中分配它们的路径。子文件夹的名称和数量应视为未知。
我知道如何通过硬编码名称和合并来自glob('gallery/{name}/slideshow_*')
的结果来做到这一点,但我想要更好的东西,最好是SPL。我试过这个没有成功:
$dir = new RecursiveDirectoryIterator('assets/img/gallery');
foreach (new RecursiveIteratorIterator($dir) as $filename => $file) {
$slideshow_images[] = glob('slideshow_*');
}
答案 0 :(得分:3)
如果您可以使用Symfony Finder,这是一件轻而易举的事:
use Symfony\Component\Finder\Finder;
$finder = new Finder();
$finder->files()->in('assets/img/gallery')->name('slideshow_*');
foreach ($finder as $file) {
// Do magic here
}