我正在寻找修改此php代码,以在单个已知目录中进行递归“搜索并显示图像”,该目录中包含未知数量的子目录.
这是我扫描单个目录并将文件回显到html的代码:
<?php
foreach(glob('./img/*.jpg') as $filename)
{
echo '<img src="'.$filename.'"><br>';
}
?>
假设基本目录$base_dir =“ ./ img /”;包含子目录,其子目录的数量和层数未知,这些子目录仅包含.jpg文件类型.
基本上需要建立一个包含所有子目录路径的数组.
解决方法:
前一段时间,我编写了此函数来遍历目录层次结构.它将返回给定文件夹中包含的所有文件路径(但不返回文件夹路径).您应该可以轻松地对其进行修改,以仅返回名称以.jpg结尾的文件.
function traverse_hierarchy($path)
{
$return_array = array();
$dir = opendir($path);
while(($file = readdir($dir)) !== false)
{
if($file[0] == '.') continue;
$fullpath = $path . '/' . $file;
if(is_dir($fullpath))
$return_array = array_merge($return_array, traverse_hierarchy($fullpath));
else // your if goes here: if(substr($file, -3) == "jpg") or something like that
$return_array[] = $fullpath;
}
return $return_array;
}