加入收藏 | 设为首页 | 会员中心 | 我要投稿 草根网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > PHP > 正文

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

发布时间:2022-11-22 10:42:05 所属栏目:PHP 来源:
导读: 用PHP程序实现删除目录的三种方法实例

  1。递规法: //没测试

  以下为引用的内容:
  deleteDir($dir)
  {
  if (rmdir($dir)==false && is_dir($dir)) {
  if ($dp = opendir($dir)
      用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 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;
  }
 

(编辑:草根网)

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

    推荐文章