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 相关文章推荐
用header 发送cookie的php代码
Mar 16 PHP
php5新改动之短标记启用方法
Sep 11 PHP
PHP 文件类型判断代码
Mar 13 PHP
解析CodeIgniter自定义配置文件
Jun 18 PHP
使用Huagepage和PGO来提升PHP7的执行性能
Nov 30 PHP
简单谈谈PHP中strlen 函数
Feb 27 PHP
PHP采用超长(超大)数字运算防止数字以科学计数法显示的方法
Apr 01 PHP
php文件上传、下载和删除示例
Aug 28 PHP
PHP+JS实现的商品秒杀倒计时用法示例
Nov 15 PHP
swoole和websocket简单聊天室开发
Nov 18 PHP
PHP APP微信提现接口代码
Sep 30 PHP
php+Ajax处理xml与json格式数据的方法示例
Mar 04 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实现WEB动态网页静态
2006/10/09 PHP
apache2.2.4+mysql5.0.77+php5.2.8安装精简
2009/04/29 PHP
PHP IN_ARRAY 函数使用注意事项
2010/07/24 PHP
php获取qq用户昵称和在线状态(实例分析)
2013/10/27 PHP
PHP中使用BigMap实例
2015/03/30 PHP
jQuery 自动增长的文本输入框实现代码
2010/04/02 Javascript
juqery 学习之三 选择器 可见性 元素属性
2010/11/25 Javascript
JavaScript自定义DateDiff函数(兼容所有浏览器)
2012/03/01 Javascript
jquery制作属于自己的select自定义样式
2015/11/23 Javascript
JS操作JSON方法总结(推荐)
2016/06/14 Javascript
Angularjs中controller的三种写法分享
2016/09/21 Javascript
jstree创建无限分级树的方法【基于ajax动态创建子节点】
2016/10/25 Javascript
详解微信开发中snsapi_base和snsapi_userinfo及静默授权的实现
2017/03/11 Javascript
vue中的过滤器实例代码详解
2019/06/06 Javascript
layui table复选框禁止某几条勾选的实例
2019/09/20 Javascript
es6 super关键字的理解与应用实例分析
2020/02/15 Javascript
[36:29]2018DOTA2亚洲邀请赛 4.1 小组赛 A组加赛 LGD vs TNC
2018/04/02 DOTA
[52:31]VP vs Serenity 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
pyside+pyqt实现鼠标右键菜单功能
2020/12/08 Python
python sort、sort_index方法代码实例
2019/03/28 Python
使用Python脚本zabbix自定义key监控oracle连接状态
2019/08/28 Python
Django自定义用户表+自定义admin后台中的字段实例
2019/11/18 Python
详解HTML5表单新增属性
2016/12/21 HTML / CSS
html5的localstorage详解
2017/05/09 HTML / CSS
阿拉伯世界最大的电子商务网站:Souq沙特阿拉伯
2016/10/28 全球购物
乌克兰在线电子产品商店:MTA
2019/11/14 全球购物
德国便宜的宠物店:Brekz.de
2020/10/23 全球购物
怎么样写好简历中的自我评价
2013/10/25 职场文书
魅力教师事迹材料
2014/01/10 职场文书
幼儿园大班毕业感言
2014/02/06 职场文书
党校学习自我鉴定
2014/02/24 职场文书
干部外出学习心得体会
2016/01/18 职场文书
Python办公自动化之Excel(中)
2021/05/24 Python
如何用python清洗文件中的数据
2021/06/18 Python
电脑无法安装Windows 11怎么办?无法安装Win11的解决方法
2021/11/21 数码科技
Android基础入门之dataBinding的简单使用教程
2022/06/21 Java/Android