我想列出目录中的所有文件wallpaper/
。此目录中有 1000 多个文件夹,主要是名人姓名,如安吉丽娜·朱莉等,在该文件夹中,该名人有几张图片。
我想列出所有具有总路径的文件,例如http://xyz.com/wallpaper/angelina joulie/angeli1243.jpg
我试过scandir()
readdir()
glob()
了,但所有列表都只列出当前目录。
请告诉如何列出所有文件的完整路径,包括给定目录的子目录
我想列出目录中的所有文件wallpaper/
。此目录中有 1000 多个文件夹,主要是名人姓名,如安吉丽娜·朱莉等,在该文件夹中,该名人有几张图片。
我想列出所有具有总路径的文件,例如http://xyz.com/wallpaper/angelina joulie/angeli1243.jpg
我试过scandir()
readdir()
glob()
了,但所有列表都只列出当前目录。
请告诉如何列出所有文件的完整路径,包括给定目录的子目录
你需要一个递归函数。这是一个经过测试并正常工作的示例函数。
function recursiveReaddir($folderPath = '.')
{
$ignore = array('cgi-bin', '.', '..');
$handle = @opendir($folderPath);
while (false !== ($file = readdir($handle))) {
if (!in_array($file, $ignore)) {
if (is_dir("$folderPath/$file")) {
$return[$file] = recursiveReaddir("$folderPath/$file");
} else {
$return [] = $file;
}
}
}
closedir($handle);
return $return;
}
$rez = recursiveReaddir('path/to/file');
print_r($rez);
如果您只需要进入两个级别,则使用起来会容易得多glob()
:
glob("wallpaper/*/*")
将遍历下面的所有直接目录wallpaper/
。