我有一个文件夹,它包含目录。一些目录包含文件,另一些包含另一个目录及其文件。我想要的是列出文件夹中的所有文件。假设我的文件夹是A,它包含文件夹B和CB包含一些mp3文件,在C中有另一个文件夹D,在D中有一些mp3文件。如何列出B和D中的所有mp3文件。请帮助。
答案 0 :(得分:1)
function find_all_files($dir)
{
$root = scandir($dir);
foreach($root as $value)
{
if($value === '.' || $value === '..') {continue;}
if(is_file("$dir/$value")) {$result[]="$dir/$value";continue;}
foreach(find_all_files("$dir/$value") as $value)
{
$result[]=$value;
}
}
return $result;
}
答案 1 :(得分:0)
$scan_it = new RecursiveDirectoryIterator("/example_dir");
foreach(new RecursiveIteratorIterator($scan_it) as $file) {
if (strtolower(substr($file, -4)) == ".mp3") {
echo $file;
}
}
答案 2 :(得分:-1)
function Read_Dir($dir) {
$dh = opendir($dir);
$files = array();
while (($file = readdir($dh)) !== false) {
$flag = false;
if ($file !== '.' && $file !== '..') {
// check here if file is a directory then use it recursively
$files[] = trim($file);
}
}
return $files;
}
希望有所帮助