Heim  >  Artikel  >  Backend-Entwicklung  >  php递归获取目录内的文件,包含子目录

php递归获取目录内的文件,包含子目录

巴扎黑
巴扎黑Original
2016-11-12 10:15:011341Durchsuche

封装成了一个方法,代码如下:

Php代码  

function readFileFromDir($dir) {  
    if (!is_dir($dir)) {  
        return false;  
    }  
    //打开目录  
    $handle = opendir($dir);  
    while (($file = readdir($handle)) !== false) {  
        //排除掉当前目录和上一个目录  
        if ($file == "." || $file == "..") {  
            continue;  
        }  
        $file = $dir . DIRECTORY_SEPARATOR . $file;  
        //如果是文件就打印出来,否则递归调用  
        if (is_file($file)) {  
            print $file . &#39;<br />&#39;;  
        } elseif (is_dir($file)) {  
            readFileFromDir($file);  
        }  
    }  
}

 调用方式:

Php代码  

$dir = '/home/www/test';  

readFileFromDir($dir);  

 

查看php手册的话,还有一个方法scandir也可以使用,不过这个方法会一次性获取单级目录下的所有文件,存放到数组里,如果目录里的文件比较多的话,会卡。


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn