PHP实现遍历文件夹及子文件夹

来源:互联网 发布:中国远程网络教育网 编辑:程序博客网 时间:2024/05/29 07:12

有看到过一些关于无限极分类,树结构的实现方面的例子,然后想到遍历文件夹和这个很像。所以将那些思想用到这个里面来,实现遍历文件夹,显示出来的时候,看起来一层一层的,知道谁是谁里面的文件


$path="../test";


getFiles($path);

/*

$path :要遍历的目录

$k: 记录有多少个文件及文件夹,同时作为数组的下标用

$depth: 记录文件夹的深度

*/

function getFiles($path,$k=1,$depth=0){
    global $arr,$key;
    $key=$k;
    if(is_dir($path)){  //文件存在且为目录时,真  
       if($ch1=opendir($path)){
           while(($file=readdir($ch1)) !==false){//返回目录中下一个文件的文件名,失败则返回false
               if($file !="."&&$file!=".."){
                    $flag=str_repeat("|__",$depth);//将深度具体化为看得见的符号,显示出来
                    $arr[$key]=$flag.$file;
                    $key++;
                   $subpath=$path."/".$file;
                   if(is_dir($subpath)){
                       getFiles($subpath,$key,$depth+1);
                   }
                   
               }
           
           }
       }
    }
}


echo "<table>";
echo "<tr ><th width=\"100px\">编号</th><th width=\"100px\">文件名</th></tr>";
foreach($arr as $key=>$v){
    echo "<tr><td>".$key."</td><td>".$v."</td></tr>";
}

echo "</table>";



阅读全文
0 0
原创粉丝点击