`

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删除文件夹的三种方法

    本文将详细介绍三种不同的方法来实现PHP删除文件夹的功能。 1. **递归法**: 递归法是通过遍历文件夹中的所有文件和子文件夹,逐个删除它们,最后删除空文件夹。这种方法通常是最通用的,因为可以处理任何层次结构...

    从文件夹里读取图片文件排序效果

    FSO 提供了多种方法和属性来处理文件和目录,如创建、删除、复制文件和文件夹等。 #### 关键方法与属性: - **GetFolder(path)**:返回指定路径的文件夹对象。 - **files**:文件夹对象的一个属性,返回该文件夹下...

    php 删除一维数组中某一个值元素的操作方法

    - 删除文件系统中的文件夹和文件,可以使用`unlink`删除文件,`rmdir`删除空目录,配合递归删除整个目录树。 以上这些方法各有优劣,选择哪种取决于具体场景和性能需求。对于简单的一维数组操作,`array_diff`与`...

    聊天留言BlaB! Lite v4.3 多国语言版(php开源聊天程序)-blab.zip

    5. 安装完成后,删除或重命名安装文件夹,确保系统的安全性。 在使用过程中,开发者可以根据需求对源代码进行二次开发,添加新的功能或优化现有功能。由于BlaB! Lite是开源的,因此开发者社区会不断提供新的插件和...

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

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

    喜欢的喜欢的喜欢的代码

    - **权限问题**:如上所述,将权限设为777可能会导致安全风险,因为这意味着任何用户都可以修改或删除文件。因此,在实际部署时应根据实际需求适当调整权限设置。 - **敏感信息保护**:对于包含敏感信息的文件(如`...

    理清PHP在Linxu下执行时的文件权限方法

    - 创建或删除目录内的文件夹或文件(mkdir/touch)需要写入权限(w)。目录的写入权限仅限于该目录一级的文件操作,不包括其子目录。 2. 文件: - 打开文件(cat/vim)需要读取权限(r)。 - 修改文件内容(cat/...

    eclipse 如何汉化

    - 后期管理不便,如果需要恢复为英文版,需要手动删除相关文件。 - 容易忘记哪些文件是汉化包的一部分,导致误删或遗漏。 ##### 方法二:Links安装法 **步骤说明:** 1. **创建links目录**:在Eclipse的安装目录...

    PHPSCUP企业建站系统 1.8.2 UTF8.zip

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

    phpMyAdmin-3.3.6-all-languages.zip

    3. 数据库管理:包括创建、修改、删除数据库和表,以及导入、导出数据。用户可以执行SQL查询,进行数据筛选、排序和分组,以及进行复杂的数据库设计和优化。 4. 权限控制:phpMyAdmin允许管理员设置用户权限,以...

    kohana开发文档

    - **注意事项**:确保解压后的文件夹名称与项目名称一致,避免使用中文或其他特殊字符。 **1.3 打开application/bootstrap.php,做下面修改** - **修改内容**: - 设置时区:例如,`date_default_timezone_set('...

    MEStore:发送 V.0.0.1

    **MEStore:构建快速部署的WEB程序** MEStore是一款基于PHP和MySQL的Web应用程序,它以其简洁的...对于熟悉PHP和MySQL的开发者来说,MEStore的源代码(如MEStore-master文件夹内的内容)也是一个学习和定制的好资源。

    (自适应手机端)响应式刑事辩护法律资讯网站pbootcms模板 法律律师事务所网站源码下载

    管理员可以通过后台轻松添加、编辑和删除文章、案例、律师信息等,无需深入编程知识。系统内置了SEO优化工具,如自定义元标签,有利于提高搜索引擎排名,增加网站曝光度。 核心组件包括: 1. **index.php** - 网站...

    2021-2022计算机二级等级考试试题及答案No.2897.docx

    3. 文件和文件夹删除:在Windows操作系统中,硬盘上的文件或文件夹删除后默认会放入回收站,但可以通过设置或某些操作(如Shift+Delete)直接永久删除。 4. 计算机硬件组件:执行算术与逻辑运算的部件是CPU(中央...

    联想台式机(扬天,启天,天骄等)Phoenix BIOS 原生2.0 升级SLIC 2.1菜鸟操作经过

    1. **压缩BIOS处理**:某些Phoenix BIOS可能存在压缩情况,普通WinHEX替换法可能无效。 2. **Marker保护机制**:ROM中的Marker部分通常受到保护,升级BIOS时不会刷新这部分。 3. **Marker与SLIC对应性**:注入Marker...

    由0晋升200%系统高手

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

Global site tag (gtag.js) - Google Analytics