PHP删除文件夹三法

PHP删除文件夹三法
1、递归法

Php代码 复制代码
  1. deleteDir($dir)   
  2. {   
  3. if (rmdir($dir)==false && is_dir($dir)) {   
  4.     if ($dp = opendir($dir)) {   
  5.      while (($file=readdir($dp)) != false) {   
  6.       if (is_dir($file) && $file!='.' && $file!='..') {   
  7.        deleteDir($file);   
  8.       } else {   
  9.        unlink($file);   
  10.       }   
  11.      }   
  12.      closedir($dp);   
  13.     } else {   
  14.      exit('Not permission');   
  15.     }   
  16. }   
  17. }  
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、系统调用法

Php代码 复制代码
  1. function del_dir($dir)   
  2. {   
  3. if(strtoupper(substr(PHP_OS, 0, 3)) == 'WIN') {   
  4.        $str = "rmdir /s/q " . $dir;   
  5. else {   
  6.        $str = "rm -Rf " . $dir;   
  7. }   
  8. }  
function del_dir($dir)
{
if(strtoupper(substr(PHP_OS, 0, 3)) == 'WIN') {
       $str = "rmdir /s/q " . $dir;
} else {
       $str = "rm -Rf " . $dir;
}
}


3、循环法

Php代码 复制代码
  1. function deltree($pathdir)   
  2. {   
  3. echo $pathdir;//我调试时用的   
  4. if(is_empty_dir($pathdir))//如果是空的   
  5.       {   
  6.       rmdir($pathdir);//直接删除   
  7.       }   
  8.       else  
  9.       {//否则读这个目录,除了.和..外   
  10.           $d=dir($pathdir);   
  11.           while($a=$d->read())   
  12.           {   
  13.           if(is_file($pathdir.'/'.$a) && ($a!='.') && ($a!='..')){unlink($pathdir.'/'.$a);}   
  14.   
  15.           //如果是文件就直接删除   
  16.           if(is_dir($pathdir.'/'.$a) && ($a!='.') && ($a!='..'))   
  17.           {//如果是目录   
  18.               if(!is_empty_dir($pathdir.'/'.$a))//是否为空   
  19.               {//如果不是,调用自身,不过是原来的路径+他下级的目录名   
  20.               deltree($pathdir.'/'.$a);   
  21.               }   
  22.               if(is_empty_dir($pathdir.'/'.$a))   
  23.               {//如果是空就直接删除   
  24.               rmdir($pathdir.'/'.$a);   
  25.               }   
  26.           }   
  27.           }   
  28.           $d->close();             
  29.       echo "必须先删除目录下的所有文件";//我调试时用的   
  30.       }   
  31. }   
  32. function is_empty_dir($pathdir)   
  33. {   
  34. //判断目录是否为空,我的方法不是很好吧?只是看除了.和..之外有其他东西不是为空   
  35. $d=opendir($pathdir);   
  36. $i=0;   
  37.       while($a=readdir($d))   
  38.       {   
  39.       $i++;   
  40.       }   
  41. closedir($d);   
  42. if($i>2){return false;}   
  43. else return true;   
  44. }  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值