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

源码网商城

探讨PHP删除文件夹的三种方法

  • 时间:2020-02-28 00:59 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:探讨PHP删除文件夹的三种方法
[b]1、递归法 [/b]
[u]复制代码[/u] 代码如下:
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');     } } }
[b]2、系统调用法 [/b]
[u]复制代码[/u] 代码如下:
function del_dir($dir) { if(strtoupper(substr(PHP_OS, 0, 3)) == 'WIN') {        $str = "rmdir /s/q " . $dir; } else {        $str = "rm -Rf " . $dir; } }
[b]3、循环法 [/b]
[u]复制代码[/u] 代码如下:
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
微信版

扫一扫进微信版
返回顶部