php判断并删除空目录及空子目录的方法


Posted in PHP onFebruary 11, 2015

本文实例讲述了php判断并删除空目录及空子目录的方法。分享给大家供大家参考。具体实现方法如下:

步骤如下:

1.遍历目录及子目录
2.使用 scandir 判断目录是否为空,为空则使用rmdir 删除。

<?php 
/** 删除所有空目录 
* @param String $path 目录路径 
*/ 
function rm_empty_dir($path){ 
 if(is_dir($path) && ($handle = opendir($path))!==false){ 
  while(($file=readdir($handle))!==false){// 遍历文件夹 
   if($file!='.' && $file!='..'){ 
    $curfile = $path.'/'.$file;// 当前目录 
    if(is_dir($curfile)){// 目录 
     rm_empty_dir($curfile);// 如果是目录则继续遍历 
     if(count(scandir($curfile))==2){//目录为空,=2是因为.和..存在
      rmdir($curfile);// 删除空目录 
     } 
    } 
   } 
  } 
  closedir($handle); 
 } 
} 
$folder = '目标文件夹'; 
rm_empty_dir($folder); 
?>

使用 shell 则简单很多:

find 目标文件夹 -mindepth 1 -depth -empty -type d -exec rm -r {} \;

希望本文所述对大家的php程序设计有所帮助。

PHP 相关文章推荐
不要轻信 PHP_SELF的安全问题
Sep 05 PHP
php操作sqlserver关于时间日期读取的小小见解
Nov 29 PHP
PHP 常用数组内部函数(Array Functions)介绍
Jun 05 PHP
深入PHP curl参数的详解
Jun 17 PHP
destoon安全设置中需要设置可写权限的目录及文件
Jun 21 PHP
ThinkPHP模板Switch标签用法示例
Jun 30 PHP
正确的PHP匹配UTF-8中文的正则表达式
May 13 PHP
php实现短信发送代码
Jul 05 PHP
8个必备的PHP功能开发
Oct 02 PHP
thinkphp整合微信支付代码分享
Nov 24 PHP
yii2 commands模式以及配置crontab定时任务的方法
Aug 19 PHP
PHP实现微信提现功能
Sep 30 PHP
php获取YouTube视频信息的方法
Feb 11 #PHP
php实现图片局部打马赛克的方法
Feb 11 #PHP
php实现获取文件mime类型的方法
Feb 11 #PHP
php强制更新图片缓存的方法
Feb 11 #PHP
Laravel中使用自己编写类库的3种方法
Feb 10 #PHP
Laravel中使用阿里云OSS Composer包分享
Feb 10 #PHP
PHP实现Javascript中的escape及unescape函数代码分享
Feb 10 #PHP
You might like
人尽可用的Windows技巧小贴士之下篇
2007/03/22 PHP
功能齐全的PHP发送邮件类代码附详细说明
2008/07/10 PHP
php学习之 认清变量的作用范围
2010/01/26 PHP
优化php效率,提高php性能的一些方法
2011/03/24 PHP
PHP 将逗号、空格、回车分隔的字符串转换为数组的函数
2012/06/07 PHP
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 2611816 bytes)
2014/11/08 PHP
php curl上传、下载、https登陆实现代码
2017/07/23 PHP
php安装扩展mysqli的实现步骤及报错解决办法
2017/09/23 PHP
你必须知道的JavaScript 变量命名规则详解
2013/05/07 Javascript
Jquery Validate 正则表达式实用验证代码大全
2013/08/23 Javascript
不要使用jQuery触发原生事件的方法
2014/03/03 Javascript
javascript在网页中实现读取剪贴板粘贴截图功能
2014/06/07 Javascript
document.forms用法示例介绍
2014/06/26 Javascript
Angular中的Promise对象($q介绍)
2015/03/03 Javascript
ui组件之input多选下拉实现方法(带有搜索功能)
2016/07/14 Javascript
Vue数据驱动模拟实现2
2017/01/11 Javascript
解决angularJS中input标签的ng-change事件无效问题
2018/09/13 Javascript
AngularJS动态生成select下拉框的方法实例
2019/11/17 Javascript
解决Nuxt使用axios跨域问题
2020/07/06 Javascript
栈和队列数据结构的基本概念及其相关的Python实现
2015/08/24 Python
Python实现检测文件MD5值的方法示例
2018/04/11 Python
Python实现求解一元二次方程的方法示例
2018/06/20 Python
使用celery执行Django串行异步任务的方法步骤
2019/06/06 Python
Python Opencv提取图片中某种颜色组成的图形的方法
2019/09/19 Python
Python安装依赖(包)模块方法详解
2020/02/14 Python
opencv+python实现鼠标点击图像,输出该点的RGB和HSV值
2020/06/02 Python
HTML5 Canvas标签使用收录
2009/07/07 HTML / CSS
美国电子产品主要品牌的授权在线零售商:DataVision
2019/03/23 全球购物
公司前台接待岗位职责
2013/12/03 职场文书
民警群众路线教育实践活动对照检查材料
2014/10/04 职场文书
党的群众路线教育实践活动组织生活会发言材料
2014/10/17 职场文书
2015年保险公司工作总结
2015/04/24 职场文书
学校食堂食品安全承诺书
2015/04/29 职场文书
离婚起诉书范文2015
2015/05/19 职场文书
Python获取指定日期是"星期几"的6种方法
2022/03/13 Python
使用Canvas绘制一个游戏人物属性图
2022/03/25 Javascript