PHP读取文件夹下文件及子文件返回一维数组

PHP循环遍历读取文件夹下文件及子文件返回一维数组,话不多说上代码

 function readFile($dir){
        if(!is_dir($dir)) return false;
        $files = array();
        $handle = opendir($dir);  //opendir()函数的作用是:打开目录句柄
        //每次使用readdir后,readdir会读到下一个文件,readdir是依次读出目录中的所有文件,每次只能读一个
        if($handle){
            while(($fl = readdir($handle)) !== false){
                $temp = $dir.DIRECTORY_SEPARATOR.$fl;
                //如果不加  $fl!='.' && $fl != '..'  则会造成把$dir的父级目录也读取出来
                if(is_dir($temp) && $fl!='.' && $fl != '..'){
                    $files[$fl] = self::readFile($temp);
                }else{
                    if($fl!='.' && $fl != '..'){
                        $files[] = $temp;
                    }
                }
            }
            return $files;
        }
    }

// 读取压缩待文件
$zipPath = readFile('./uploads/zip');
// 合并压缩文件数组
$path = array_reduce($zipPath, 'array_merge', array());

 

你可能感兴趣的:(PHP)