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 base64+gzinflate压缩编码和解码代码
Oct 03 PHP
php 购物车的例子
May 04 PHP
IIS6+PHP5+MySQL5+Zend Optimizer+phpMyAdmin安装配置图文教程 2009年
Jun 08 PHP
php生成随机密码的三种方法小结
Sep 04 PHP
探讨如何在php168_cms中提取验证码
Jun 08 PHP
无刷新动态加载数据 滚动条加载适合评论等页面
Oct 16 PHP
destoon各类调用汇总
Jun 20 PHP
PHP单例模式简单用法示例
Jun 23 PHP
PHP实现统计所有字符在字符串中出现次数的方法
Oct 17 PHP
thinkphp3.2同时连接两个数据库的简单方法
Aug 13 PHP
Laravel 不同生产环境服务器的判断实践
Oct 15 PHP
PHP数组Key强制类型转换实现原理解析
Sep 01 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文件中bom的PHP代码
2012/03/13 PHP
PHP7之Mongodb API使用详解
2015/12/26 PHP
php实现数组纵向转横向并过滤重复值的方法分析
2017/05/29 PHP
ThinkPHP框架中使用Memcached缓存数据的方法
2018/03/31 PHP
PHP的PDO连接讲解
2019/01/24 PHP
IE浏览器打印的页眉页脚设置解决方法
2009/12/08 Javascript
js 数据类型转换总结笔记
2011/01/17 Javascript
扩展JavaScript功能的正确方法(译文)
2012/04/12 Javascript
JavaScript子类用Object.getPrototypeOf去调用父类方法解析
2013/12/05 Javascript
node.js入门教程迷你书、node.js入门web应用开发完全示例
2014/04/06 Javascript
微信小程序 省市区选择器实例详解(附源码下载)
2017/01/05 Javascript
bootstrap如何让dropdown menu按钮式下拉框长度一致
2017/04/10 Javascript
基于JavaScript实现选项卡效果
2017/07/21 Javascript
对于Javascript 执行上下文的全面了解
2017/09/05 Javascript
深入理解JavaScript的async/await
2018/08/05 Javascript
简单两步使用node发送qq邮件的方法
2019/03/01 Javascript
使用 Vue cli 3.0 构建自定义组件库的方法
2019/04/30 Javascript
weui中的picker使用js进行动态绑定数据问题
2019/11/06 Javascript
vue 实现购物车总价计算
2019/11/06 Javascript
[01:00:49]DOTA2-DPC中国联赛 正赛 Ehome vs iG BO3 第二场 1月31日
2021/03/11 DOTA
[01:06:54]DOTA2-DPC中国联赛 正赛 SAG vs DLG BO3 第二场 2月28日
2021/03/11 DOTA
python安装mysql-python简明笔记(ubuntu环境)
2016/06/25 Python
python制作mysql数据迁移脚本
2019/01/01 Python
浅析python内置模块collections
2019/11/15 Python
python 比较2张图片的相似度的方法示例
2019/12/18 Python
时尚圣经:The Fashion Bible
2019/03/03 全球购物
法国女性内衣购物网站:Glamuse
2019/05/13 全球购物
接待员岗位责任制
2014/02/10 职场文书
教师作风整顿个人剖析材料
2014/10/10 职场文书
简单的离婚协议书范本
2014/11/16 职场文书
求职意向书范本
2015/05/11 职场文书
掌握一个领域知识,高效学习必备方法
2019/08/08 职场文书
发工资啦!教你用Python实现邮箱自动群发工资条
2021/05/10 Python
MySql 8.0及对应驱动包匹配的注意点说明
2021/06/23 MySQL
vue项目支付功能代码详解
2022/02/18 Vue.js
kubernetes集群搭建Zabbix监控平台的详细过程
2022/07/07 Servers