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入门学习知识点五 关于php数组的几个基本操作
Jul 14 PHP
php json_encode奇怪问题说明
Sep 27 PHP
PHP Error与Logging函数的深入理解
Jun 03 PHP
yii框架通过控制台命令创建定时任务示例
Apr 30 PHP
PHP内存缓存Memcached类实例
Dec 08 PHP
PHP中filter函数校验数据的方法详解
Jul 31 PHP
php验证码的制作思路和实现方法
Nov 12 PHP
php+ajax实现无刷新分页
Nov 18 PHP
分析PHP中单双引号的误区和双引号小隐患
Jul 19 PHP
php异步:在php中使用fsockopen curl实现类似异步处理的功能方法
Dec 10 PHP
PHP面向对象五大原则之接口隔离原则(ISP)详解
Apr 04 PHP
php框架知识点的整理和补充
Mar 01 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统计文件大小,以GB、MB、KB、B输出
2011/05/29 PHP
详解PHP序列化反序列化的方法
2015/10/27 PHP
PHP Laravel中的Trait使用方法
2019/01/20 PHP
js判断上传文件的类型和大小示例代码
2013/10/18 Javascript
AngularJs解决跨域问题案例详解(简单方法)
2016/05/19 Javascript
JS实现弹出下载对话框及常见文件类型的下载
2017/07/13 Javascript
浅谈vue项目打包优化策略
2018/09/29 Javascript
javascript中floor使用方法总结
2019/02/02 Javascript
nodejs微信开发之自动回复的实现
2019/03/17 NodeJs
关于ckeditor在bootstrap中modal中弹框无法输入的解决方法
2019/09/11 Javascript
vue实现路由不变的情况下,刷新页面操作示例
2020/02/02 Javascript
原生js canvas实现鼠标跟随效果
2020/08/02 Javascript
[02:16]DOTA2英雄基础教程 干扰者
2014/01/15 DOTA
[00:32]DOTA2上海特级锦标赛 COL战队宣传片
2016/03/04 DOTA
python使用cookielib库示例分享
2014/03/03 Python
python调用java模块SmartXLS和jpype修改excel文件的方法
2015/04/28 Python
在Python的web框架中编写创建日志的程序的教程
2015/04/30 Python
Python使用bs4获取58同城城市分类的方法
2015/07/08 Python
Python验证文件是否可读写代码分享
2017/12/11 Python
用Python一键搭建Http服务器的方法
2018/06/01 Python
Python基于多线程实现抓取数据存入数据库的方法
2018/06/22 Python
win10下tensorflow和matplotlib安装教程
2018/09/19 Python
使用tqdm显示Python代码执行进度功能
2019/12/08 Python
Eclipse配置python默认头过程图解
2020/04/26 Python
python正则表达式 匹配反斜杠的操作方法
2020/08/07 Python
Python入门基础之数字字符串与列表
2021/02/01 Python
Python创建自己的加密货币的示例
2021/03/01 Python
Vinatis德国:法国领先的葡萄酒邮购公司
2020/09/07 全球购物
自我鉴定范文
2013/11/10 职场文书
简历中个人求职的自我评价模板
2013/11/29 职场文书
雏鹰争章活动总结
2014/05/09 职场文书
司法所长先进事迹
2014/06/02 职场文书
公务员保密工作承诺书
2015/05/04 职场文书
刚学完怎么用Python实现定时任务,转头就跑去撩妹!
2021/06/05 Python
分享几个简单MySQL优化小妙招
2022/03/31 MySQL
MySQL数据库之内置函数和自定义函数 function
2022/06/16 MySQL