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 mssql 时间格式问题
Jan 13 PHP
php 全局变量范围分析
Aug 07 PHP
php中通过curl模拟登陆discuz论坛的实现代码
Feb 16 PHP
PHP采用get获取url汉字出现乱码的解决方法
Nov 13 PHP
php中10个不同等级压缩优化图片操作示例
Nov 14 PHP
CI框架封装的常用图像处理方法(缩略图,水印,旋转,上传等)
Nov 22 PHP
Zend Framework入门教程之Zend_View组件用法示例
Dec 09 PHP
PHP基于递归实现的约瑟夫环算法示例
Aug 27 PHP
PHP实现重载的常用方法实例详解
Oct 18 PHP
PHP实现链表的定义与反转功能示例
Jun 09 PHP
PHP实现发送微博消息功能完整示例
Dec 04 PHP
Thinkphp5框架中引入Markdown编辑器操作示例
Jun 03 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
DC《神奇女侠2》因疫情推迟上映 温子仁新恐怖片《恶性》撤档
2020/04/09 欧美动漫
php设计模式小结
2013/02/15 PHP
一组PHP加密解密函数分享
2014/06/05 PHP
php上传文件并存储到mysql数据库的方法
2015/03/16 PHP
详解Yii2 之 生成 URL 的方法
2017/06/16 PHP
PHP Post获取不到非表单数据的问题解决办法
2018/02/27 PHP
javascript面向对象的方式实现的弹出层效果代码
2010/01/28 Javascript
jquery ui对话框实例代码
2013/05/10 Javascript
jquery判断RadioButtonList和RadioButton中是否有选中项示例
2013/09/29 Javascript
ECMAScript6的新特性箭头函数(Arrow Function)详细介绍
2014/06/07 Javascript
Javascript 5种方法实现过滤删除前后所有空格
2016/06/22 Javascript
jQuery插件echarts实现的去掉X轴、Y轴和网格线效果示例【附demo源码下载】
2017/03/04 Javascript
vue.js 双层嵌套for遍历的方法详解, 类似php foreach()
2018/09/07 Javascript
基于vue2.0实现仿百度前端分页效果附实现代码
2018/10/30 Javascript
vue如何限制只能输入正负数及小数
2019/07/04 Javascript
如何自定义微信小程序tabbar上边框的颜色
2019/07/09 Javascript
解决ant Design中Select设置initialValue时的大坑
2020/10/29 Javascript
[00:03]DOTA2新版本PA至宝展示
2014/11/19 DOTA
简单的连接MySQL与Python的Bottle框架的方法
2015/04/30 Python
pygame游戏之旅 调用按钮实现游戏开始功能
2018/11/21 Python
Django2.1.3 中间件使用详解
2018/11/26 Python
在python里面运用多继承方法详解
2019/07/01 Python
Flask框架模板继承实现方法分析
2019/07/31 Python
Grid 宫格常用布局的实现
2020/01/10 HTML / CSS
英国儿童图书网站:Scholastic
2017/03/26 全球购物
公司授权委托书范本
2014/04/03 职场文书
环保倡议书400字
2014/05/15 职场文书
化学教育专业自荐信
2014/07/04 职场文书
护士年终个人总结
2015/02/13 职场文书
致短跑运动员加油稿
2015/07/21 职场文书
物业公司管理制度
2015/08/05 职场文书
2016年社区“我们的节日·中秋节”活动总结
2016/04/05 职场文书
如何书写民事调解协议书?
2019/06/25 职场文书
python-opencv 中值滤波{cv2.medianBlur(src, ksize)}的用法
2021/06/05 Python
PHP设计模式(观察者模式)
2021/07/07 PHP
Tomcat安装使用及部署Web项目的3种方法汇总
2022/08/14 Servers