递归遍历目录下所有文件的php函数

发布时间:2020-12-16编辑:脚本学堂
php实现递归遍历指定目录下的所有文件,代码很简单,是学习php递归的不错的小例子,适合初学php的朋友。

php递归遍历指定目录下的所有文件。

复制代码 代码示例:

<?php
/**
 * 递归查找目录下所有文件。
 * site: http://www.jb200.com
 */
function scanfiles($dirs,$path='',$root,&$files,&$options){
    if($dirs==false){
        return ;
    }
    foreach($dirs as $val){
        if($val=='.' || $val=='..' || in_array($val,$options['exclude'])){
            continue;
        }
        if(is_file($root.'/'.$path.$val)){
            $files[]['name']=$path.$val;
        }elseif(is_dir($root.'/'.$path.$val)){
            if(empty($path)){
                $nextpath=$val.'/';
            }else{
                $nextpath=$path.$val.'/';
            }
            $dir=$root.'/'.$nextpath;
            scanfiles(@scandir($dir),$nextpath,$root,$files,$options);
        }
    }
}
?>