Php 使用Glob获取目录和子目录中的图像
我编写了一个PHP脚本来获取某个目录中的所有图像并显示它们,尽管我希望能够在指定目录的子目录中也显示图像 例如,现在我的脚本只得到以下图像 上传/prevImgs/145323.png 上传/prevImgs/276531.png 我想从哪里得到以下信息Php 使用Glob获取目录和子目录中的图像,php,Php,我编写了一个PHP脚本来获取某个目录中的所有图像并显示它们,尽管我希望能够在指定目录的子目录中也显示图像 例如,现在我的脚本只得到以下图像 上传/prevImgs/145323.png 上传/prevImgs/276531.png 我想从哪里得到以下信息 <?php // Directory Path Of Library Preview Images // $dirname = "uploads/prevImgs/"; $images = glob("{$dirname}*.
<?php
// Directory Path Of Library Preview Images //
$dirname = "uploads/prevImgs/";
$images = glob("{$dirname}*.*");
foreach($images as $image) {
echo '<img src="'.$image.'" /><br />';
}
?>
上传/prevImgs/145323.png
上传/prevImgs/276531.png
上传/prevImgs/dir1/12323.png
上传/prevImgs/dir2/212331.png
我当前的脚本如下
<?php
// Directory Path Of Library Preview Images //
$dirname = "uploads/prevImgs/";
$images = glob("{$dirname}*.*");
foreach($images as $image) {
echo '<img src="'.$image.'" /><br />';
}
?>
非常感谢您的光临强>
我可以建议使用RecursiveDirectoryIterator创建一个类来遍历(子)目录的文件及其文件。与php提供的递归过滤器迭代器一起,您只能返回图像文件
还有一个GlobIterator,但我不确定它是否也执行递归迭代。您可以堆叠一个RecursiveDirectoryIterator和一个recursiveIteratoryIterator来获得您想要的效果:
$rdi = new RecursiveDirectoryIterator("uploads/prevImgs/");
$it = new RecursiveIteratorIterator($rdi);
foreach($it as $oneThing)
if (is_file($oneThing))
echo '<img src="'.$oneThing.'" /><br />';
$rdi=new recursivedirectoryinterator(“uploads/prevImgs/”;
$it=新的递归迭代器($rdi);
foreach($oneThing)
if(is_文件($oneThing))
回声“
”;
我知道,你必须使用递归DirectoryIterator并将另一个迭代器堆叠在其上以使其工作,这似乎是违反直觉的。这方面的文件可能更好