php递归删除目录下的文件但保留的实例分享


Posted in PHP onMay 10, 2014

用php程序删除目录和文件比到ftp删除有很多优势。首先进ftp就比较麻烦,然后删除大量文件的时候ftp删除很慢,还有就是程序只想删除文件夹下面的文件,而保留目录结构,可以用php来轻松的实现,再有比如生成的日志、缓存要清除用程序来完成显然轻松的多。

一:删除目录下面的文件,不删除目录

function delFileUnderDir( $dirName ){  
 if ( $handle = opendir( "$dirName" ) ) {  
   while ( false !== ( $item = readdir( $handle ) ) ) {  
    if ( $item != "." && $item != ".." ) {  
     if ( is_dir( "$dirName/$item" ) ) {  
      delFileUnderDir( "$dirName/$item" );  
     } else {  
      if( unlink( "$dirName/$item" ) ) echo "已删除文件:$dirName/$item<br />\n";  
     }  
    }  
   }  
   closedir( $handle );  
 }  
}

二:删除目录及目录下所有的文件

function delDirAndFile( $dirName ){  
 if ( $handle = opendir( "$dirName" ) ) {  
   while ( false !== ( $item = readdir( $handle ) ) ) {  
    if ( $item != "." && $item != ".." ) {  
     if ( is_dir( "$dirName/$item" ) ) {  
       delDirAndFile( "$dirName/$item" );  
      } else {  
       if( unlink( "$dirName/$item" ) )echo "已删除文件: $dirName/$item<br />\n";  
      }  
    }  
   }  
   closedir( $handle );  
   if( rmdir( $dirName ) ) echo "成功删除目录: $dirName<br />\n";  
 }  
}
PHP 相关文章推荐
十天学会php之第十天
Oct 09 PHP
php+mysql实现无限级分类 | 树型显示分类关系
Nov 19 PHP
php iconv() : Detected an illegal character in input string
Dec 05 PHP
让你成为更出色的PHP开发者的10个技巧
Feb 25 PHP
php性能优化分析工具XDebug 大型网站调试工具
May 22 PHP
PHP+MYSQL会员系统的登陆即权限判断实现代码
Sep 23 PHP
解析php DOMElement 操作xml 文档的实现代码
May 10 PHP
PHP编译安装中遇到的两个错误和解决方法
Aug 20 PHP
PHP中for循环与foreach的区别
Mar 06 PHP
PHP实现的下载远程文件类定义与用法示例
Jul 05 PHP
laravel实现查询最后执行的一条sql语句的方法
Oct 09 PHP
php获取是星期几的的一些常用姿势
Dec 15 PHP
PHP实现把MySQL数据库导出为.sql文件实例(仿PHPMyadmin导出功能)
May 10 #PHP
php使用mkdir创建多级目录入门例子
May 10 #PHP
一个简单的PHP验证码实现代码
May 10 #PHP
php生成随机密码自定义函数代码(简单快速)
May 10 #PHP
php实现按文件名搜索文件的远程文件查找器
May 10 #PHP
thinkphp实现面包屑导航(当前位置)例子分享
May 10 #PHP
php把数据表导出为Excel表的最简单、最快的方法(不用插件)
May 10 #PHP
You might like
介绍php设计模式中的工厂模式
2008/06/12 PHP
php生成excel列名超过26列大于Z时的解决方法
2014/12/29 PHP
linux中cd命令使用详解
2015/01/08 PHP
Zend Framework动作助手(Zend_Controller_Action_Helper)用法详解
2016/03/05 PHP
php生成mysql的数据字典
2016/07/07 PHP
浅谈PHP中new self()和new static()的区别
2017/08/11 PHP
Nigma vs Liquid BO3 第一场2.14
2021/03/10 DOTA
浅谈Javascript鼠标和滚轮事件
2012/06/27 Javascript
JavaScript中函数(Function)的apply与call理解
2015/07/08 Javascript
JQuery实现左右滚动菜单特效
2015/09/28 Javascript
JavaScript实现的伸展收缩型菜单代码
2015/10/14 Javascript
javascript的理解及经典案例分析
2016/05/20 Javascript
Jquery和JS获取ul中li标签的实现方法
2016/06/02 Javascript
javascript创建含数字字母的随机字符串方法总结
2016/08/01 Javascript
AngularJS基础 ng-src 指令简单示例
2016/08/03 Javascript
完美解决JS文件页面加载时的阻塞问题
2016/12/18 Javascript
JavaScript html5利用FileReader实现上传功能
2020/03/27 Javascript
JS实现侧边栏鼠标经过弹出框+缓冲效果
2017/03/29 Javascript
angular2+node.js express打包部署的实战
2017/07/27 Javascript
vue mounted组件的使用
2018/06/18 Javascript
使用vue-cli脚手架工具搭建vue-webpack项目
2019/01/14 Javascript
基于Vue+elementUI实现动态表单的校验功能(根据条件动态切换校验格式)
2019/04/04 Javascript
[01:51]2018年度CS GO最具人气外援-完美盛典
2018/12/16 DOTA
Python3中简单的文件操作及两个简单小实例分享
2017/06/18 Python
对numpy中轴与维度的理解
2018/04/18 Python
pytorch 实现将自己的图片数据处理成可以训练的图片类型
2020/01/08 Python
python 基于DDT实现数据驱动测试
2021/02/18 Python
HTML5 canvas基本绘图之图形组合
2016/06/27 HTML / CSS
婚鞋、新娘鞋、礼服鞋、童鞋:Nina Shoes
2019/09/04 全球购物
描述Cookie和Session的作用,区别和各自的应用范围,Session工作原理
2015/03/25 面试题
财务管理专业毕业生求职信范文
2013/09/21 职场文书
成品仓管员岗位职责
2013/12/11 职场文书
承办会议欢迎词
2014/01/17 职场文书
婚礼嘉宾致辞
2015/07/28 职场文书
k-means & DBSCAN 总结
2021/04/27 Python
Golang 并发编程 SingleFlight模式
2022/04/26 Golang