`
xuebingnanmm
  • 浏览: 176534 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

PHP删除文件夹三法

    博客分类:
  • 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. }  
分享到:
评论

相关推荐

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

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

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

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

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

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

    PHP入门基础教学视频

    - **颜色表示法**:可通过英语单词(如red)、十六进制数字(如`#FF0000`)或RGB值(如`rgb(255, 0, 0)`)来设置颜色。 以上内容为PHP入门基础教学视频的关键知识点概述,涵盖了从Windows命令到HTML基础知识的重要...

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

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

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

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

    喜欢的喜欢的喜欢的代码

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

    myeclipse8.5安装SVN

    - 在安装过程中,如果遇到问题,可以尝试删除MyEclipse的“configuration”文件夹下的“org.eclipse.update”文件夹,以清除可能存在的更新缓存。 - 在线安装时,务必注意不要添加错误的插件,以避免冲突或功能不全...

    理清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