源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

PHP下几种删除目录的方法总结

  • 时间:2021-04-08 21:28 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:PHP下几种删除目录的方法总结
呵呵,忽然一个朋友问我如何删除目录,比如下面有文件呢,我说用递规呀,他说太慢了。于是就总结出了下面几种办法。 1。递规法: //我提供,好像有点不对,没测试 deleteDir($dir) {  if (rmdir($dir)==false && is_dir($dir)) {   if ($dp = opendir($dir)) {    while (($file=readdir($dp)) != false) {     if (is_dir($file) && $file!='.' && $file!='..') {      deleteDir($file);     } else {      unlink($file);     }    }    closedir($dp);   } else {    exit('Not permission');   }  }  } 2。系统调用法     //大师兄提供 function del_dir($dir) {  if(strtoupper(substr(PHP_OS, 0, 3)) == 'WIN') {      $str = "rmdir /s/q " . $dir;  } else {      $str = "rm -Rf " . $dir;  } } 3。循环法   //from: http://www.knowsky.com/1148.html function deltree($pathdir)  {  echo $pathdir;//我调试时用的  if(is_empty_dir($pathdir))//如果是空的      {      rmdir($pathdir);//直接删除      }      else      {//否则读这个目录,除了.和..外          $d=dir($pathdir);          while($a=$d->read())          {          if(is_file($pathdir.'/'.$a) && ($a!='.') && ($a!='..')){unlink($pathdir.'/'.$a);}          //如果是文件就直接删除          if(is_dir($pathdir.'/'.$a) && ($a!='.') && ($a!='..'))          {//如果是目录              if(!is_empty_dir($pathdir.'/'.$a))//是否为空              {//如果不是,调用自身,不过是原来的路径+他下级的目录名              deltree($pathdir.'/'.$a);              }              if(is_empty_dir($pathdir.'/'.$a))              {//如果是空就直接删除              rmdir($pathdir.'/'.$a);              }          }          }          $d->close();      echo "必须先删除目录下的所有文件";//我调试时用的      }  }  function is_empty_dir($pathdir)  { //判断目录是否为空,我的方法不是很好吧?只是看除了.和..之外有其他东西不是为空 $d=opendir($pathdir);  $i=0;      while($a=readdir($d))      {      $i++;      }  closedir($d);  if($i>2){return false;}  else return true;  }   呵呵,足够给各种朋友用了吧,只是按照你需要和速度来论吧。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部