PHP写一个函数能够遍历一个文件夹下的所有文件和子文件夹

社区版本可以用

function myscandir($dir)

{

$files = array();

if ( $handle = opendir($dir) ) {

while ( ($file = readdir($handle)) !== false ) {

if ( $file != ".." && $file != "." ) {

if ( isdir($dir . "/" . $file) ) {

$files[$file] = scandir($dir . "/" . $file);

}else {

$files[] = $file;

}

}

}

closedir($handle);

return $files;

}

}

更好的简洁方法

function traverseDirectory($directory) {
    $files = scandir($directory);
    
    foreach ($files as $file) {
        $path = $directory . '/' . $file;
        
        if (is_dir($path)) {
            // 如果是文件夹,则递归调用该函数
            traverseDirectory($path);
        } else {
            // 如果是文件,则打印文件路径
            echo $path . "\n";
        }
    }
}
 

 

你可能感兴趣的:(php)