> php教程 > php手册 > php递归删除目录

php递归删除目录

WBOY
풀어 주다: 2016-06-13 10:33:00
원래의
938명이 탐색했습니다.

摘自 “linuxer” 博客 http://deidara.blog.51cto.com/400447/118805

要删除一个空的目录很简单~一个
 
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删除成功了。
";
    }else{
           echo "目录$dir删除失败!
";
  }
}
 
//测试程序
$dir="/var/www/test";
deletedir($dir);
?>


在 /var/www/test 文件夹下建一写 文件夹和文件测试
shell> touch  aaa
shell> touch  bbb
shell> touch  ccc
shell> touch  eee
shell> touch  ffff
shell> mkdir   111
shell> mkdir   222
shell> mkdir   333
分别再在111,222,333  文件夹下建写文件这里就不多说了,然后给他们权限
shell>chown [url]www.www[/url] test -R
然后在IE 打开程序测试吧~~呵呵。
 

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿