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 相关文章推荐
php5.2.0内存管理改进
Jan 22 PHP
PHP fopen 读取带中文URL地址的一点见解
Sep 25 PHP
ThinkPHP中的关联模型注意点
Jun 16 PHP
PHP简单实现HTTP和HTTPS跨域共享session解决办法
May 27 PHP
PHP下SSL加密解密、验证、签名方法(很简单)
Jun 28 PHP
Thinkphp单字母函数使用指南
May 08 PHP
php实现图片上传时添加文字和图片水印技巧
Apr 18 PHP
PHP微信红包生成代码分享
Oct 06 PHP
PHP实现图片批量打包下载功能
Mar 01 PHP
PHP的微信支付接口使用方法讲解
Mar 08 PHP
PHP实现的62进制转10进制,10进制转62进制函数示例
Jun 06 PHP
php设计模式之组合模式实例详解【星际争霸游戏案例】
Mar 27 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
PHP学习之整理字符串
2011/04/17 PHP
PHP操作数组的一些函数整理介绍
2011/07/17 PHP
PHP调用MsSQL Server 2012存储过程获取多结果集(包含output参数)的详解
2013/07/03 PHP
PHP session垃圾回收机制实例分析
2019/06/28 PHP
laravel在中间件内生成参数并且传递到控制器中的2种姿势
2019/10/15 PHP
基于jQuery的弹出框插件
2012/03/18 Javascript
jquery zTree异步加载简单实例分享
2013/02/05 Javascript
通过action传过来的值在option获取进行验证的方法
2013/11/14 Javascript
jquery获得option的值和对option进行操作
2013/12/13 Javascript
基于AngularJS实现的工资计算器实例
2017/06/16 Javascript
webpack学习教程之publicPath路径问题详解
2017/06/17 Javascript
从0到1搭建element后台框架优化篇(打包优化)
2019/05/12 Javascript
使用vue实现通过变量动态拼接url
2020/07/22 Javascript
vue实现把接口单独存放在一个文件方式
2020/08/13 Javascript
用Python代码来绘制彭罗斯点阵的教程
2015/04/03 Python
Python的randrange()方法使用教程
2015/05/15 Python
SQLite3中文编码 Python的实现
2017/01/11 Python
Python代码实现删除一个list里面重复元素的方法
2019/04/02 Python
Python图像处理PIL各模块详细介绍(推荐)
2019/07/17 Python
wxPython多个窗口的基本结构
2019/11/19 Python
如何利用pygame实现简单的五子棋游戏
2019/12/29 Python
python读取yaml文件后修改写入本地实例
2020/04/27 Python
python爬虫利用selenium实现自动翻页爬取某鱼数据的思路详解
2020/12/22 Python
css3气泡 css3关键帧动画创建的动态通知气泡
2013/02/26 HTML / CSS
阿姆斯特丹杜莎夫人蜡像馆官方网站:Madame Tussauds Amsterdam
2019/03/12 全球购物
农民工创业典型事迹
2014/01/25 职场文书
采购部部长岗位职责
2014/02/06 职场文书
对孩子的寄语
2014/04/09 职场文书
《望庐山瀑布》教学反思
2014/04/22 职场文书
部门年终奖分配方案
2014/05/07 职场文书
汉语言文学毕业求职信
2014/07/17 职场文书
2015年元旦演讲稿
2014/09/12 职场文书
任命书标准格式
2015/03/02 职场文书
关于环保的广播稿
2015/12/17 职场文书
Vue如何实现组件间通信
2021/05/15 Vue.js
Java实现贪吃蛇游戏的示例代码
2022/09/23 Java/Android