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制作静态网站的模板框架(一)
Oct 09 PHP
PHPWind与Discuz截取字符函数substrs与cutstr性能比较
Dec 05 PHP
php中file_get_content 和curl以及fopen 效率分析
Sep 19 PHP
php实现的zip文件内容比较类
Sep 24 PHP
使用php的HTTP请求的库Requests实现美女图片墙
Feb 22 PHP
ThinkPHP 3.2 版本升级了哪些内容
Mar 05 PHP
thinkPHP下ueditor的使用方法详解
Dec 26 PHP
PHP之十六个魔术方法详细介绍
Nov 01 PHP
PHP开发APP端微信支付功能
Feb 17 PHP
thinkphp框架page类与bootstrap分页(美化)
Jun 25 PHP
laravel中的一些简单实用功能
Nov 03 PHP
解决Laravel使用验证时跳转到首页的问题
Nov 17 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
我的论坛源代码(二)
2006/10/09 PHP
PHP 模拟$_PUT实现代码
2010/03/15 PHP
php连接MSsql server的五种方法总结
2018/03/04 PHP
thinkphp5框架前后端分离项目实现分页功能的方法分析
2019/10/08 PHP
解决laravel上传图片之后,目录有图片,但是访问不到(404)的问题
2019/10/14 PHP
Javascript 写的简单进度条控件
2008/01/22 Javascript
Jquery工作常用实例 使用AJAX使网页进行异步更新
2011/07/26 Javascript
讲解JavaScript中for...in语句的使用方法
2015/06/03 Javascript
js禁止页面刷新与后退的方法
2015/06/08 Javascript
CSS图片响应式 垂直水平居中
2015/08/14 Javascript
javascript设计模式--策略模式之输入验证
2015/11/27 Javascript
Jquery+ajax+JAVA(servlet)实现下拉菜单异步取值
2016/03/23 Javascript
js获取对象、数组的实际长度,元素实际个数的实现代码
2016/06/08 Javascript
js简单实现网页换肤功能
2017/04/07 Javascript
JS解决position:sticky的兼容性问题的方法
2017/10/17 Javascript
JS+canvas画布实现炫酷的旋转星空效果示例
2019/02/13 Javascript
Vue 前端实现登陆拦截及axios 拦截器的使用
2019/07/17 Javascript
js属性对象的hasOwnProperty方法的使用
2021/02/05 Javascript
[01:33]PWL开团时刻DAY2-开雾与反开雾
2020/10/31 DOTA
Django 如何获取前端发送的头文件详解(推荐)
2017/08/15 Python
python 机器学习之支持向量机非线性回归SVR模型
2019/06/26 Python
Python实现井字棋小游戏
2020/03/09 Python
PyInstaller将Python文件打包为exe后如何反编译(破解源码)以及防止反编译
2020/04/15 Python
Python importlib动态导入模块实现代码
2020/04/16 Python
python 实现读取csv数据,分类求和 再写进 csv
2020/05/18 Python
利用Python实现斐波那契数列的方法实例
2020/07/26 Python
英国的屈臣氏:Boots博姿
2017/12/23 全球购物
Java的for语句中break, continue和return的区别
2013/12/19 面试题
物业管理个人自我评价
2013/11/08 职场文书
函授大学生自我鉴定
2014/02/05 职场文书
幼儿园安全生产月活动总结
2014/07/05 职场文书
社区元宵节活动总结
2015/02/06 职场文书
2016年“5.12”护士节致辞
2015/07/31 职场文书
大学生活委员竞选稿
2015/11/21 职场文书
详解盒子端CSS动画性能提升
2021/05/24 HTML / CSS
python爬取网页版QQ空间,生成各类图表
2021/06/02 Python