php 遍历目录

//遍历文件夹,使用缩进形式显示
function dir_recurse($dir,$i=1){
    if(is_dir($dir)){
        if($handle = opendir($dir)){
            while(false !== ($file = readdir($handle))){
                if($file != '.' && $file != '..'){
                    echo str_pad('',$i*3,'-') . $file . '<br/>';  
                    if(is_dir($dir . '/' .$file)){
                        dir_recurse($dir . '/' .$file,$i+1);
                    }
                }
            }
            closedir($handle);
        }
    }else{
        echo str_pad('',$i*3,'-') . $dir  . '<br/>';
    }
}

//遍历文件夹,保存到数组中
function dir_scan($dir){
    $array = [];
    if(is_dir($dir)){
        $array[] = $dir;
        if($handle = opendir($dir)){
            while(false !== ($file = readdir($handle))){
                if($file != '.' && $file != '..'){
                    if(is_dir($dir . '/' .$file)){
                        $new_arr = dir_scan($dir . '/' . $file);
                        $array = array_merge($array,$new_arr);
                    }else{
                        $array[] = $dir . '/' . $file;
                    }
                }
            }
            closedir($handle);
        }
        return $array;
    }else{
        $array[] = $dir;
        return $array;
    }
}
dir_recurse('./node_study');
$a = dir_scan('./node_study');
var_dump($a);

猜你喜欢

转载自www.cnblogs.com/gyfluck/p/9213407.html