温馨提示×

php读取目录及子目录下所有文件名的方法

PHP
小亿
89
2024-01-05 18:31:32
栏目: 编程语言

有多种方法可以读取目录及子目录下所有文件名的方法,以下是其中两种常见的方法:

  1. 使用递归函数遍历目录和子目录:
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";
}
  1. 使用RecursiveDirectoryIterator类和RecursiveIteratorIterator类:
$directory = "path/to/directory";
$iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($directory));

foreach ($iterator as $file) {
    if ($file->isDir()) {
        continue;
    }
    
    echo $file->getPathname()."\n";
}

以上两种方法都可以遍历目录及其子目录下的所有文件名。根据具体情况选择合适的方法。

0