php讀取目錄及子目錄下所有文件名的方法

PHP
小億
130
2024-01-05 18:31:32
欄目: 編程語言

有多種方法可以讀取目錄及子目錄下所有文件名的方法,以下是其中兩種常見的方法:

  1. 使用遞歸函數(shù)遍歷目錄和子目錄:
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";
}

以上兩種方法都可以遍歷目錄及其子目錄下的所有文件名。根據(jù)具體情況選擇合適的方法。

0