有多种方法可以读取目录及子目录下所有文件名的方法,以下是其中两种常见的方法:
使用递归函数遍历目录和子目录:function getFiles($dir) { $files = []; $handle = opendir($dir); while (false !== ($file = readdir($handle))) { if ($file != "." && $file != "..") { $path = $dir.'/'.$file; if (is_dir($path)) { $files = array_merge($files, getFiles($path)); } else { $files[] = $path; } } } closedir($handle); return $files;}$directory = "path/to/directory";$files = getFiles($directory);foreach ($files as $file) { echo $file."\n";}使用RecursiveDirectoryIterator类和RecursiveIteratorIterator类:$directory = "path/to/directory";$iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($directory));foreach ($iterator as $file) { if ($file->isDir()) { continue; } echo $file->getPathname()."\n";}以上两种方法都可以遍历目录及其子目录下的所有文件名。根据具体情况选择合适的方法。