>백엔드 개발 >PHP 튜토리얼 >PHP에서 비어 있지 않은 디렉토리를 삭제하는 세 가지 함수

PHP에서 비어 있지 않은 디렉토리를 삭제하는 세 가지 함수

WBOY
WBOY원래의
2016-07-25 08:55:43874검색
  1. function d_rmdir($dirname) { //删除非空目录
  2. if(!is_dir($dirname)) {
  3. return false;
  4. } // bbs.it-home.org
  5. $handle = @opendir($dirname);
  6. while(($file = @readdir($handle)) !== false){
  7. if($file != '.' && $file != '..'){
  8. $dir = $dirname . '/' . $file;
  9. is_dir($dir) ? d_rmdir($dir) : unlink($dir);
  10. }
  11. }
  12. closedir($handle);
  13. return rmdir($dirname) ;
  14. }
  15. if(d_rmdir("./temp"))
  16. echo "succes";
  17. else
  18. echo "false";
  19. ?>
复制代码

方法二,php手册上找到的。

  1. //删除非空目录 
  2. functionremove_directory($dir){
  3.  if($handle=opendir("$dir")){
  4.  while(false!==($item=readdir($handle))){
  5.   if($item!="."&&$item!=".."){
  6.    if(is_dir("$dir/$item")){
  7.     remove_directory("$dir/$item");
  8.    }else{
  9.     unlink("$dir/$item");
  10.     echo"removing$dir/$item
    ";
  11.    }
  12.   }
  13.  }
  14.  closedir($handle);
  15.  rmdir($dir);
  16.  echo"removing$dir
    ";
  17.  }
  18. }
复制代码

方法三,

  1. //网友提供的删除非空目录的函数
  2. functionremoveDir($dirName)
  3. {
  4.   if(!is_dir($dirName))
  5.   {
  6.     returnfalse;
  7.   }
  8.   $handle=@opendir($dirName);
  9.   while(($file=@readdir($handle))!==false)
  10.   {
  11.     if($file!='.'&&$file!='..')
  12.     {
  13.       $dir=$dirName.'/'.$file;
  14.       is_dir($dir)?removeDir($dir):@unlink($dir);
  15.     }
  16.   }
  17.   closedir($handle);  
  18.   returnrmdir($dirName);
  19. }
  20. ?>
复制代码


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.