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 相关文章推荐
搜索引擎技术核心揭密
Oct 09 PHP
新手配置 PHP 调试环境(IIS+PHP+MYSQL)
Jan 10 PHP
多个PHP中文字符串截取函数
Nov 12 PHP
ThinkPHP模板中数组循环实例
Oct 30 PHP
PHP多线程类及用法实例
Dec 03 PHP
php中关于长度计算容易混淆的问题分析
May 27 PHP
浅析PHP中的i++与++i的区别及效率
Jun 15 PHP
PHP实现页面静态化的超简单方法
Sep 06 PHP
PHP+redis实现的悲观锁机制示例
Jun 12 PHP
PHP类与对象后期静态绑定操作实例详解
Dec 20 PHP
解决laravel groupBy 对查询结果进行分组出现的问题
Oct 09 PHP
PHP pthreads v3下worker和pool的使用方法示例
Feb 21 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
yii框架表单模型使用及以数组形式提交表单数据示例
2014/04/30 PHP
laravel添加前台跳转成功页面示例
2019/10/22 PHP
简单的php购物车代码
2020/06/05 PHP
如何在PHP环境中使用ProtoBuf数据格式
2020/06/19 PHP
经典的解除许多网站无法复制文字的绝招
2006/12/31 Javascript
JavaScript 在各个浏览器中执行的耐性
2009/04/06 Javascript
JQuery 1.6发布 性能提升,同时包含大量破坏性变更
2011/05/10 Javascript
在Windows上安装Node.js模块的方法
2011/09/25 Javascript
深入理解JavaScript系列(7) S.O.L.I.D五大原则之开闭原则OCP
2012/01/15 Javascript
extjs关于treePanel+chekBox全部选中以及清空选中问题探讨
2013/04/02 Javascript
jQuery检测滚动条是否到达底部
2015/12/15 Javascript
JavaScript常用代码书写规范的超全面总结
2016/09/11 Javascript
JS使用正则表达式验证身份证号码
2017/06/23 Javascript
详谈js对url进行编码和解码(三种方式的区别)
2017/08/16 Javascript
webpack热模块替换(HMR)/热更新的方法
2018/04/05 Javascript
layui数据表格 table.render 报错的解决方法
2019/09/29 Javascript
用Python编写分析Python程序性能的工具的教程
2015/04/01 Python
Python操作串口的方法
2015/06/17 Python
python3中str(字符串)的使用教程
2017/03/23 Python
详解Python核心编程中的浅拷贝与深拷贝
2018/01/07 Python
python 利用for循环 保存多个图像或者文件的实例
2018/11/09 Python
对python mayavi三维绘图的实现详解
2019/01/08 Python
python实现QQ空间自动点赞功能
2019/04/09 Python
使用TensorFlow实现简单线性回归模型
2019/07/19 Python
python3调用windows dos命令的例子
2019/08/14 Python
python的移位操作实现详解
2019/08/21 Python
tensorboard显示空白的解决
2020/02/15 Python
HTML5 Canvas+JS控制电脑或手机上的摄像头实例
2014/05/03 HTML / CSS
Athleta官网:购买女士瑜伽服、技术运动服和休闲运动服
2020/11/12 全球购物
不用游标的SQL语句有哪些
2012/09/07 面试题
高校学生干部的自我评价分享
2013/11/04 职场文书
新闻学毕业生自荐信
2013/11/15 职场文书
开展党的群众路线教育实践活动方案
2014/02/05 职场文书
奠基仪式策划方案
2014/05/15 职场文书
12.4法制宣传日标语
2014/10/08 职场文书
2014年第四季度入党积极分子思想汇报(十八届四中全会)
2014/11/03 职场文书