欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

PHP删除非空目录的三个函数

程序员文章站 2022-06-07 16:14:31
...
  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. ?>
复制代码