1 <?php 2 3 header("content-type:text/html; charset=utf8"); 4 //递归查看目录文件 5 6 $pathname = "D:/qq"; 7 //调用递归函数 8 $res = diGui($pathname); 9 var_dump($res); 10 11 function diGui($pathname, $deep=0){ 12 //存储遍历过的所有文件内容 13 static $file_list = array(); 14 15 //打开目录句柄 16 $handle = opendir($pathname); 17 while (false !== ($filename =readdir($handle))) { //false!== 防止出现目录文件名字为0的情况 18 //过滤再文件夹的点点文件夹 19 if ($filename == '.' || $filename == '..') { 20 continue; 21 } 22 23 24 //输出当前目录信息 25 //echo str_repeat(" ", $filename)."<br>"; 26 27 //声明数组变量存储一次遍历的目录信息 28 $file = array(); 29 $file['filename'] = $filename; 30 $file['deep'] = $deep; 31 32 //把以上信息存储到静态数组中 33 $file_list[] = $file; 34 35 if (is_dir($pathname.'/'.$filename)) { 36 //可变函数 37 $current_func = __FUNCTION__ ;//获得当前函数名称 38 $current_func($pathname.'/'.$filename, $deep+1); 39 } 40 } 41 // closedir — 关闭目录句柄 42 closedir($handle); 43 44 return $file_list; 45 }