二月飞

学学更健康

递归的使用[2]_打印级联目录

可以使用递归的方式打印级联目录。可以用readdir()函数读取目录,但是当打开的目录为子目录时,我们则可以再次调用函数来实现打印出级联效果。而不能直接用readdir()函数全部读取所有的目录,它只能读取一层目录。涉及到的代码如下:

 1 function recdir($path){
 2 $dh=opendir($path);
 3 while(($row=readdir($dh))!=false){
 4 if($row=='.'||$row=='..'){
 5 continue;
 6 }
 7 echo $row."<br/>";
 8 if(is_dir($path.'/'.$row)){
 9 
10 recdir($path.'/'.$row);
11 }
12 }
13 echo $row;
14 }
15 
16 recdir('./');

 当然我们还可以略加修改,可以打印出树状图来。其代码如下:

 1 function recdir($path,$lev=1){
 2 $dh=opendir($path);
 3 while(($row=readdir($dh))!==false){
 4 if($row=='.'||$row=='..'){continue;}
 5 echo "├".str_repeat('─',$lev).$row."<br/>";
 6 if(is_dir($path.'/'.$row)){
 7  recdir($path.'/'.$row,$lev+1);
 8 }
 9 
10 }
11 closedir($dh);
12 }
13 recdir('./',1);

 

posted on 2013-07-29 21:12  二月飞  阅读(170)  评论(0编辑  收藏  举报

导航