php实例分享之通过递归实现删除目录下的所有文件详解


Posted in PHP onMay 15, 2014

先贴代码:

<?php
function delFile($dirName){ 
 if ($handle = opendir("$dirName")){
  while (($item = readdir($handle))!=false){
   if ($item!="." && $item!="..")  {
    if ( is_dir( "$dirName/$item" ) ) {  
             delFile( "$dirName/$item" );  
       } else unlink("$dirName/$item");
  }
 }
 closedir($handle);
}
?>

<?php
 delFile('/home/sources');
?>

先讲解几个函数:

opendir() :函数打开一个目录句柄,可由 closedir(),readdir() 和 rewinddir() 使用。

若成功,则该函数返回一个目录流,否则返回 false 以及一个 error。可以通过在函数名前加上 "@" 来隐藏 error 的输出。例如$dir=@ opendir("image");

readdir():返回由opendir函数打开的目录句柄中的条目,即顺序返回文件夹中的文件名,顺序按照文件系统中制定的排序方式。

id_dir():即检测参数文件是否为目录,如果是返回true.

un_link():即删除制定文件。

所以程序执行思路为:函数调用主目录,然后顺序检测每一文件是否为目录,如果为目录则递归调用函数,并对不为目录的文件进行删除,直到遍历完所有的文件。

这个程序只实现删除文件夹里面的内容,而没有删除文件夹本身,如果要实现这一目的,加上下面代码即可:

rmdir($dirName);
PHP 相关文章推荐
php max_execution_time执行时间问题
Jul 17 PHP
PHP中创建空文件的代码[file_put_contents vs touch]
Jan 20 PHP
使用php判断网页是否gzip压缩
Jun 25 PHP
浅析php过滤html字符串,防止SQL注入的方法
Jul 02 PHP
PHP批量上传图片的具体实现方法介绍.
Feb 26 PHP
php+js iframe实现上传头像界面无跳转
Apr 29 PHP
PHP浮点比较大小的方法
Feb 14 PHP
PHP使用SOAP扩展实现WebService的方法
Apr 01 PHP
php实现多维数组排序的方法示例
Mar 23 PHP
Laravel timestamps 设置为unix时间戳的方法
Oct 11 PHP
php 实现简单的登录功能示例【基于thinkPHP框架】
Dec 02 PHP
一文看懂PHP进程管理器php-fpm
Jun 01 PHP
php实例分享之二维数组排序
May 15 #PHP
php表单请求获得数据求和示例
May 15 #PHP
ThinkPHP使用心得分享-ThinkPHP + Ajax 实现2级联动下拉菜单
May 15 #PHP
ThinkPHP使用心得分享-上传类UploadFile的使用
May 15 #PHP
ThinkPHP使用心得分享-分页类Page的用法
May 15 #PHP
php自定义函数截取汉字长度
May 15 #PHP
php获取服务器端mac和客户端mac的地址支持WIN/LINUX
May 15 #PHP
You might like
PHP在字符断点处截断文字的实现代码
2011/04/21 PHP
php文件操作之小型留言本实例
2015/06/20 PHP
jquery之Document元素选择器篇
2008/08/14 Javascript
JavaScript中使用replace结合正则实现replaceAll的效果
2010/06/04 Javascript
如何确保JavaScript的执行顺序 之jQuery.html并非万能钥匙
2011/03/03 Javascript
文本框根据输入内容自适应高度的代码
2011/10/24 Javascript
js模仿jquery的写法示例代码
2013/06/16 Javascript
jquery 实现上下滚动效果示例代码
2013/08/09 Javascript
解决window.opener=null;window.close(),只支持IE6不支持IE7,IE8的问题
2014/01/14 Javascript
异步JavaScript编程中的Promise使用方法
2015/07/28 Javascript
JavaScript实现的商品抢购倒计时功能示例
2017/04/17 Javascript
jQuery中hover方法搭配css的hover选择器,实现选中元素突出显示方法
2017/05/08 jQuery
Node接收电子邮件的实例代码
2017/07/21 Javascript
jqgrid实现简单的单行编辑功能
2017/09/30 Javascript
基于rollup的组件库打包体积优化小结
2018/06/18 Javascript
简单两步使用node发送qq邮件的方法
2019/03/01 Javascript
JS实现在线ps功能详解
2019/07/31 Javascript
微信小程序中button去除默认的边框实例代码
2019/08/01 Javascript
详解element-ui中表单验证的三种方式
2019/09/18 Javascript
javascript 原型与原型链的理解及应用实例分析
2020/02/10 Javascript
微信小程序中data-key属性之数据传输(经验总结)
2020/08/22 Javascript
python删除文件示例分享
2014/01/28 Python
python登录pop3邮件服务器接收邮件的方法
2015/04/30 Python
python如何使用正则表达式的前向、后向搜索及前向搜索否定模式详解
2017/11/08 Python
Python字典及字典基本操作方法详解
2018/01/30 Python
Python语法分析之字符串格式化
2019/06/13 Python
pycharm编写spark程序,导入pyspark包的3中实现方法
2019/08/02 Python
python或C++读取指定文件夹下的所有图片
2019/08/31 Python
tensorflow与numpy的版本兼容性问题的解决
2021/01/08 Python
倩碧澳大利亚官网:Clinique澳大利亚
2019/07/22 全球购物
学期自我鉴定
2013/11/04 职场文书
2014年元旦活动方案
2014/02/15 职场文书
收银出纳员岗位职责
2014/02/23 职场文书
超市七夕促销活动方案
2014/08/28 职场文书
2014国庆65周年领导讲话稿(3篇)
2014/09/21 职场文书
芙蓉镇观后感
2015/06/10 职场文书