`

PHP删除文件夹三法

    博客分类:
  • PHP
阅读更多
PHP删除文件夹三法
FROM: www.php100.com
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、循环法
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;
}
分享到:
评论

相关推荐

    探讨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!=...

    kmtools:知识营销工具集是用于与您的网站和ECN UAD进行通信的工具的集合。 在此文件夹中,您将找到开源PHP类结构以及Drupal 7模块的单独文件夹。

    KMSUITE:核心模块,其中包含可选的域跟踪和分类法跟踪。 域跟踪选项需要一个域跟踪密钥(在ECN中的组级别找到)。 分类跟踪将利用带有可选前缀,大小写转换和术语排除的Drupal中的词汇表。 更新:删除了用于加载...

    PHPSCUP企业建站系统 1.8.2 UTF8.zip

    安装完后请把install文件夹删除。 特别注意: 安装完后,登入后台(后台目录为:http://你的域名/admin),点击导航设置,将每个链接的"http://localhost/phpscuputf"替换成"http://你的域名"即可打开网站的页面。 ...

    由0晋升200%系统高手

    实例5:多系统安装又一法 实例6:从安装光盘中恢复安装IE 6.0 实例7:Windows补丁下载、批量安装、局域网分发一条龙 实例8:不用软件把Windows 2000彻底搬家到新分区 实例9:微软的软件安装也这么难 实例10:...

    MagePsycho_Xmllinks:魔法魔法师

    此外,它还解决了通过 xml 布局更新删除这些链接的复杂性。特征: 升级证明模块。 已针对 Magento CE 1.5.0.1 - 1.7.0.2 和 EE 1.12 进行测试易于安装和配置。 启用/禁用选项。 切换顶部链接的选项。 切换页脚链接...

    MaxDOS & Ghost8.2 7 For Vista/2008

    3. 加入最新的万能网卡驱动,在我的两台机器三个网卡(RTL8139,YUKON8039,VMWARE AMDPC NET)下测试完全可驱动,并能实现网络刻隆 4. 全新自动化网刻模式,全部交由服务端操作,包括全盘网刻,单分区网该,GHOST运行参数,...

    升级MaxDOS71

    1、先在 资源管理器 - 文件夹选项 - 取消“隐藏已知文件类型的扩展名”的勾选 2、下载安装好MaxDOS,进 C:\MaxDOS\ 找到 Maxs.sys 重命名为 Maxs.rar 然后解压得到 MaxDOS.exe文件,将其改名为MaxDOS.img即可。 ...

    wp-jamstack-deployments:用于JAMstack部署的WordPress插件

    该插件提供了一种在创建,删除或删除帖子,页面或自定义帖子类型时向Webhook发出请求的方法。 您还可以通过单击按钮手动触发请求,也可以通过WordPress操作以编程方式触发请求。 屏幕截图 安装插件 将此存储库的内容...

    MaxDOS 7 & Ghost8.2 For Win2k/XP/2K3

    后会在您指定的位置创建一个MaxBAK的系统隐藏文件夹,如果您删除了该分区的MaxBAK文件 夹将造成全自动备份与还原功能失效.另:该功能默认自动备份为硬盘的第一分区,如果您想 修改备份/还原源或目标,请使用开始菜单-...

    MaxDOS_71PXE_G115.rar

    能实现防病毒功能,如果您不需要该功能可以控制面板中的添加删除程序中卸载. 重要4: 7.1 版中的Max防病毒功能主要针对网吧或企业网络进行设计,不建议家庭或个人用户 使用,由于此功能需要专用的服务端支持管理,所以不...

    drupal-angular-ctools

    我想与 angular 进行强大而动态的集成(尽可能多地从 Drupal 中删除和剪切,也许将 htaccess 放在定义部分的任何模块的预定义文件夹中,等等),与服务 / RESTful 模块(在 Angular 中自动提供所有包、分类法

    refactoring-code-smells:Example示例项目说明了代码气味,以应用重构技术

    诸如长方法,嵌套条件,功能嫉妒之类的东西 :smiling_face_with_smiling_eyes: 根据以下分类法()将不同的代码气味进行分组,您将在其中找到单个示例中的每个示例: 膨胀物:已经变得太大而无法有效处理的东西面向...

    软件病毒特征码定位软件multiCCL

    v 0.100 beta 之后的版本用的是等分法,限制区域的优化效果, 对于文件特征码来说是很不明显的, 而对于内存特征码的定位还是比较明显的。 ; 要注意的是,文件定位每次提醒杀毒时,一定要把识别出的文件全部...

    multiCCL_f

    以免被杀毒软件的实时监控删掉 2. 现在打开杀毒软件的实时检测(保护级别在自定义中设置得严格些) 实时检测的执行动作可设置为: a. 提示用户操作 b. 禁止访问并删除 推荐选 a ,千万不要选“仅禁止访问”,...

Global site tag (gtag.js) - Google Analytics