首頁  >  文章  >  後端開發  >  PHP刪除非空目錄的三個函數

PHP刪除非空目錄的三個函數

WBOY
WBOY原創
2016-07-25 08:55:43853瀏覽
  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