您好,欢迎访问一九零五行业门户网

PHP实现递归循环每一个目录程序_PHP教程

要遍历一个文件夹里面的所有目录,列出里面所有的文件,php本身自带的有一个readdir的函数,不过只能读取当前的目录,根据这个函数,我写了另外一个函数,用来实现我的需求。
 代码如下 复制代码
dirname=$dir;
$this->depth=0;
$this->tostring=”;
}
//把结果保存进多维数组
function getlist($dir=”){
if($dir==”)$dir=$this->dirname;
$d=@dir($dir);
while(false!==($item=$d->read()))
{
if($item!=”.”&&$item!=”..”)
{
$path=$dir.”/”.$item;
if(is_dir($path)){
$this->depth+=1;
$this->getlist($path);
}else{
$this->list[$this->depth][]=$item;
}
}
}
$this->list[$this->depth]['directory']=$dir;
$this->depth-=1;
$d->close();
return $this->list;
}
//字符窜化结果
function tostring($dir=”){
if($dir==”)$dir=$this->dirname;
$d=@dir($dir);
$this->tostring.=”
n”;
$this->tostring.=”directory:”.$dir.”n”;
while(false!==($item=$d->read()))
{
if($item!=”.”&&$item!=”..”)
{
$path=$dir.”/”.$item;
if(is_dir($path)){
$this->depth+=1;
$this->tostring($path);
}else{
$this->tostring.=””.$item.”n”;
}
}
}
$this->depth-=1;
$d->close();
$this->tostring.=”n”;
return $this->tostring;
}
}
$wapdir=”jquery”;
$d=new listdir($wapdir);
echo $d->tostring();
?>
要删除一个空的目录很简单~一个
rmdir() 函数就可以搞定,但是要删除一个非空目录,将不能进行快速的删除,必须先将目录中文件删除,但是目录里可能还会有子目录所以要进行递归删除~下面是我的例子~
代码如下 复制代码
function deletedir($dir){
      if(!handle=@opendir($dir)){     //检测要打开目录是否存在
               die(没有该目录);
      }
     while(false !==($file=readdir($handle))){
               if($file!==.&&$file!==..){       //排除当前目录与父级目录
                            $file=$dir .directory_separator. $file;
                            if(is_dir($file)){
                                  deletedir($file);
                            }else{
                                  if(@unlink($file)){
                                         echo 文件$file删除成功。
;
                                  }else{
                                          echo  文件$file删除失败!
;
                                 }
                }
     }
    if(@rmdir($dir)){
           echo 目录$dir删除成功了。
n;
    }else{
           echo 目录$dir删除失败!
n;
  }
}
//测试程序
$dir=/var/www/test;
deletedir($dir);
?>
http://www.bkjia.com/phpjc/633086.htmlwww.bkjia.comtruehttp://www.bkjia.com/phpjc/633086.htmltecharticle要遍历一个文件夹里面的所有目录,列出里面所有的文件,php本身自带的有一个readdir的函数,不过只能读取当前的目录,根据这个函数,我...
其它类似信息

推荐信息