加入收藏 | 设为首页 | 会员中心 | 我要投稿 源码网 (https://www.900php.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

用PHP程序实现删除目录的三种方法实例

发布时间:2022-03-03 17:03:00 所属栏目: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
  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 CuoXIn.com
 
  以下为引用的内容:
  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;
  }

(编辑:源码网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读