php判断并删除空目录及空子目录的方法

yipeiwu_com6年前PHP代码库

本文实例讲述了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中慎用双等于(==)的详解

PHP比较运算符出现的频率实在是太高了,尤其是 ==if(a == b){// do something}但是,你真的掌握了 == 了吗?细节很重要!来看下面的代码,说出你认为正确的答案...

php上传图片生成缩略图(GD库)

首先来一段简单的php上传图片生成缩略图的详细代码,分享给大家供大家参考,具体内容如下 <?php function createThumbnail($imageDir...

php输出xml格式字符串(用的这个)

复制代码 代码如下: <?php header("Content-type:text/xml;charset=utf-8"); $aaa =<<<html <...

PHP的autoload机制的实现解析

一、autoload机制概述 在使用PHP的OO模式开发系统时,通常大家习惯上将每个类的实现都存放在一个单独的文件里,这样会很容易实现对类进行复用,同时将来维护时也很便利。这也是OO设计...

PHP设计模式之代理模式的深入解析

PHP设计模式之代理模式的深入解析

代理模式(Proxy),它是对简单处理程序(或指针)的增强,用于引用一个对象:这个指针被代理(Proxy)对象取代,代理对象位于客户端(Client)和真实执行程序之间,指针有一个可被多...