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 相关文章推荐
Joomla下利用configuration.php存储简单数据
May 19 PHP
PHP JSON格式数据交互实例代码详解
Jan 13 PHP
PHP基础知识介绍
Sep 17 PHP
PHP5.5和之前的版本empty函数的不同之处
Jun 13 PHP
php经典算法集锦
Nov 14 PHP
PHP实现动态执行代码的方法
Mar 25 PHP
PHP中FTP相关函数小结
Jul 15 PHP
PHP Cookie学习笔记
Aug 23 PHP
PHP实现的曲线统计图表示例
Nov 10 PHP
PHP基于PDO调用sqlserver存储过程通用方法【基于Yii框架】
Oct 07 PHP
Yii2.0 RESTful API 基础配置教程详解
Dec 26 PHP
浅析PHP7 的垃圾回收机制
Sep 06 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 header Content-Type类型小结
2011/07/03 PHP
php 文件缓存函数
2011/10/08 PHP
php下获取http状态的实现代码
2014/05/09 PHP
ThinkPHP3.2.2实现持久登录(记住我)功能的方法
2016/05/16 PHP
Laravel 5.1 on SAE环境开发教程【附项目demo源码】
2016/10/09 PHP
PHP设计模式之组合模式定义与应用示例
2020/02/01 PHP
使用jquery mobile做幻灯播放效果实现步骤
2013/01/04 Javascript
JS 加入收藏夹的代码(主流浏览器通用)
2013/05/13 Javascript
本人自用的global.js库源码分享
2015/02/28 Javascript
js实现模拟银行卡账号输入显示效果
2015/11/18 Javascript
AngularJS ng-change 指令的详解及简单实例
2016/07/30 Javascript
Bootstrap基本插件学习笔记之Alert警告框(20)
2016/12/08 Javascript
微信小程序开发之录音机 音频播放 动画实例 (真机可用)
2016/12/08 Javascript
JQuery form表单提交前验证单选框是否选中、删除记录时验证经验总结(整理)
2017/06/09 jQuery
微信小程序canvas写字板效果及实例
2017/06/15 Javascript
解决Vue2.0 watch对象属性变化监听不到的问题
2018/09/11 Javascript
使用JavaScript破解web
2018/09/28 Javascript
jquery.pager.js实现分页效果
2019/07/29 jQuery
微信js-sdk 录音功能的示例代码
2019/11/01 Javascript
ES6中Set和Map用法实例详解
2020/03/02 Javascript
[53:21]2014 DOTA2国际邀请赛中国区预选赛5.21 DT VS LGD-CDEC
2014/05/22 DOTA
[46:38]完美世界DOTA2联赛PWL S2 Magma vs PXG 第三场 11.28
2020/12/02 DOTA
Python 初始化多维数组代码
2008/09/06 Python
python写的一个文本编辑器
2014/01/23 Python
Python从使用线程到使用async/await的深入讲解
2018/09/16 Python
教你使用Sublime text3搭建Python开发环境及常用插件安装另分享Sublime text3最新激活注册码
2020/11/12 Python
美国领先的家居装饰和礼品商店:Kirkland’s
2017/01/30 全球购物
2014年基层党组织公开承诺书
2014/03/29 职场文书
七一建党日演讲稿
2014/09/05 职场文书
2014年前台文员工作总结
2014/12/08 职场文书
银行员工考核评语
2014/12/31 职场文书
人事文员岗位职责
2015/02/04 职场文书
公务员的复习计划书,请收下!
2019/07/15 职场文书
什么是检讨书?检讨书的格式及范文
2019/11/05 职场文书
Python 使用dict实现switch的操作
2021/04/07 Python
MySQL数据库如何查看表占用空间大小
2022/06/10 MySQL