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 相关文章推荐
第五节 克隆 [5]
Oct 09 PHP
一个分页的论坛
Oct 09 PHP
php在项目中寻找代码的坏味道(综艺命名)
Jul 19 PHP
php检测网页是否被百度收录的函数代码
Oct 09 PHP
PHP判断指定时间段的2个方法
Mar 14 PHP
CodeIgniter框架提示Disallowed Key Characters的解决办法
Apr 21 PHP
PHP启动windows应用程序、执行bat批处理、执行cmd命令的方法(exec、system函数详解)
Oct 20 PHP
搭建自己的PHP MVC框架详解
Aug 16 PHP
php之可变变量的实例详解
Sep 12 PHP
PHP格式化显示时间date()函数代码
Oct 03 PHP
laravel自定义分页的实现案例offset()和limit()
Oct 15 PHP
Laravel框架实现即点即改功能的方法分析
Oct 31 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
怎么样可以把 phpinfo()屏蔽掉?
2006/11/24 PHP
ajax php传递和接收变量实现思路及代码
2012/12/19 PHP
php实现的双向队列类实例
2014/09/24 PHP
在Win2003(64位)中配置IIS6+PHP5.2.17+MySQL5.5的运行环境
2016/04/04 PHP
php检测mysql表是否存在的方法小结
2017/07/20 PHP
一个tab标签切换效果代码
2009/03/27 Javascript
jquery.lazyload  实现图片延迟加载jquery插件
2010/02/06 Javascript
对 lightbox JS 图片控件进行了一下改造, 使其他支持复杂的图片说明
2010/03/20 Javascript
js中判断文本框是否为空的两种方法
2011/07/31 Javascript
javascript实现阻止iOS APP中的链接打开Safari浏览器
2014/06/12 Javascript
使用微信内嵌H5网页解决JS倒计时失效问题
2017/01/13 Javascript
JS设置时间无效问题的解决办法
2017/02/18 Javascript
详解Javascript几种跨域方式总结
2017/02/27 Javascript
细说webpack源码之compile流程-rules参数处理技巧(2)
2017/12/26 Javascript
Vue中v-for的数据分组实例
2018/03/07 Javascript
JS实现简易留言板特效
2019/12/23 Javascript
[06:16]《DAC最前线》之地区预选赛全面回顾
2015/01/19 DOTA
[04:29]2016国际邀请赛中国区预选赛Ehome战队教练采访
2016/06/27 DOTA
Python查看多台服务器进程的脚本分享
2014/06/11 Python
python实现JAVA源代码从ANSI到UTF-8的批量转换方法
2015/08/10 Python
Python利用operator模块实现对象的多级排序详解
2017/05/09 Python
python利用正则表达式搜索单词示例代码
2017/09/24 Python
python实现在pandas.DataFrame添加一行
2018/04/04 Python
numpy判断数值类型、过滤出数值型数据的方法
2018/06/09 Python
python按键按住不放持续响应的实例代码
2019/07/17 Python
理解Django 中Call Stack机制的小Demo
2020/09/01 Python
css3中仿放大镜效果的几种方式原理解析
2020/12/03 HTML / CSS
Java的接口和C++的虚类的相同和不同处
2014/03/27 面试题
小学生九一八纪念日83周年演讲稿500字
2014/09/17 职场文书
音乐教育专业自荐信
2014/09/18 职场文书
寻衅滋事罪辩护词
2015/05/21 职场文书
国富论读书笔记
2015/06/26 职场文书
2016校本研修培训心得体会
2016/01/08 职场文书
SQL Server基本使用和简单的CRUD操作
2021/04/05 SQL Server
python全面解析接口返回数据
2022/02/12 Python
MySQL分区路径子分区再分区
2022/04/13 MySQL