以递归方式查找文件夹中的所有.php文件

Bob*_*ban 8 php

使用PHP,如何在文件夹或其子文件夹(任何深度)中找到所有.php文件?

Bab*_*aba 35

你可以使用RecursiveDirectoryIteratorRecursiveIteratorIterator:

$di = new RecursiveDirectoryIterator(__DIR__,RecursiveDirectoryIterator::SKIP_DOTS);
$it = new RecursiveIteratorIterator($di);

foreach($it as $file) {
    if (pathinfo($file, PATHINFO_EXTENSION) == "php") {
        echo $file, PHP_EOL;
    }
}
Run Code Online (Sandbox Code Playgroud)


sup*_*son 8

只需添加以下内容:

function listFolderFiles($dir){
    $ffs = scandir($dir);
    $i = 0;
    $list = array();
    foreach ( $ffs as $ff ){
        if ( $ff != '.' && $ff != '..' ){
            if ( strlen($ff)>=5 ) {
                if ( substr($ff, -4) == '.php' ) {
                    $list[] = $ff;
                    //echo dirname($ff) . $ff . "<br/>";
                    echo $dir.'/'.$ff.'<br/>';
                }    
            }       
            if( is_dir($dir.'/'.$ff) ) 
                    listFolderFiles($dir.'/'.$ff);
        }
    }
    return $list;
}

$files = array();
$files = listFolderFiles(dirname(__FILE__));
Run Code Online (Sandbox Code Playgroud)