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 相关文章推荐
六酷社区论坛HOME页清新格调免费版 下载
Mar 07 PHP
PHP向浏览器输出内容的4个函数总结
Nov 17 PHP
在Nginx上部署ThinkPHP项目教程
Feb 02 PHP
PHP使用gmdate实现将一个UNIX 时间格式化成GMT文本的方法
Mar 19 PHP
PHP6新特性分析
Mar 03 PHP
PHP的PDO常用类库实例分析
Apr 07 PHP
关于PHP内置的字符串处理函数详解
Feb 04 PHP
php 调用ffmpeg获取视频信息的简单实现
Apr 03 PHP
thinkPHP+phpexcel实现excel报表输出功能示例
Jun 06 PHP
PHP分享图片的生成方法
Apr 25 PHP
关于php开启错误提示的总结
Sep 24 PHP
PHP pthreads v3在centos7平台下的安装与配置操作方法
Feb 21 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读MYSQL中文乱码的解决方法
2006/12/17 PHP
php skymvc 一款轻量、简单的php
2011/06/28 PHP
深入php多态的实现详解
2013/06/09 PHP
php rmdir使用递归函数删除非空目录实例详解
2016/10/20 PHP
ecshop适应在PHP7的修改方法解决报错的实现
2016/11/01 PHP
php在linux环境中如何使用redis详解
2020/12/15 PHP
Autocomplete Textbox Example javascript实现自动完成成功
2007/08/17 Javascript
extjs4 treepanel动态改变行高度示例
2013/12/17 Javascript
Javascript实现的常用算法(如冒泡、快速、鸽巢、奇偶等)
2014/04/29 Javascript
jQuery手机拨号界面特效代码分享
2015/08/27 Javascript
js表单验证实例讲解
2016/03/31 Javascript
Vue.extend构造器的详解
2017/07/17 Javascript
Node.js中读取TXT文件内容fs.readFile()用法
2018/10/10 Javascript
Angular value与ngValue区别详解
2019/11/27 Javascript
Python如何实现文本转语音
2016/08/08 Python
python实时分析日志的一个小脚本分享
2017/05/07 Python
对python中的argv和argc使用详解
2018/12/15 Python
python 多个参数不为空校验方法
2019/02/14 Python
详解将Pandas中的DataFrame类型转换成Numpy中array类型的三种方法
2019/07/06 Python
python中Lambda表达式详解
2019/11/20 Python
python实现百度OCR图片识别过程解析
2020/01/17 Python
django创建超级用户时指定添加其它字段方式
2020/05/14 Python
浅析python字符串前加r、f、u、l 的区别
2021/01/24 Python
次世代生活态度:Hypebeast
2018/07/05 全球购物
俄罗斯天然和有机产品、健康生活网上商店:Fitomarket.ru
2020/10/09 全球购物
说一下Linux下有关用户和组管理的命令
2016/01/04 面试题
会计岗位职责
2013/11/08 职场文书
传媒专业推荐信范文
2013/11/23 职场文书
计算机专业应届生求职信
2014/04/06 职场文书
异地年检委托书范本
2014/09/24 职场文书
法定代表人授权委托书格式
2014/10/14 职场文书
作风建设整改方案
2014/10/27 职场文书
幼儿园教师师德表现自我评价
2015/03/05 职场文书
酒店人事主管岗位职责
2015/04/11 职场文书
中标通知书
2015/04/17 职场文书
JavaScript中的宏任务和微任务详情
2021/11/27 Javascript