遍历文件夹下面的所有文件
1、面试经常被问到遍历所有文件的题目,在这里鄙人不才,写了一个,自己测试了一下,还算可以,如果有需要的可以借鉴一下
1 <?php 2 /* 3 *遍历目录下面的所有文件和目录 4 *@param $filename 目录或者文件 5 *@param $level 目录级别 6 *返回所有目录和文件,或者false 7 */ 8 function getAllFiles($filename,$level=0){ 9 10 //初始化目录,为了保存遍历出来的目录和文件 11 static $dirs = array('dir'=>array(),'file'=>array()); 12 13 if(is_dir($filename)){ 14 15 //如果是目录则对目录进行遍历 16 foreach(glob($filename.'/*') as $f){ 17 18 if(is_dir($f)){ 19 20 //对子目录递归遍历 21 getAllFiles($f,$level+1); 22 23 }else{ 24 25 //保存子目录的文件 26 $dirs['file'][$level][] = $f; 27 28 } 29 } 30 31 //保存目录 32 $dirs['dir'][$level][] = $filename; 33 34 }else if(is_file($filename)){ 35 36 //保存文件 37 $dirs['file'][$level][] = $filename; 38 39 }else{ 40 41 return false; 42 } 43 //返回所有文件和目录 44 return $dirs; 45 46 } 47 48 echo '<pre>'; 49 echo var_export(getAllFiles('../bui'));
浙公网安备 33010602011771号