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 {} \;

查看本栏目更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/webkf/PHP/

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索目录
, 文件夹
, www
, 步骤
, 子目录
, shell遍历目录
, 空目录
空子目录
php删除非空目录、php 删除空目录、php 删除目录、php递归删除目录、php 删除目录下的文件,以便于您获取更多的相关知识。

时间: 2024-09-13 16:16:04

php如何删除空目录及空子目录的相关文章

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

本文实例讲述了php判断并删除空目录及空子目录的方法.分享给大家供大家参考.具体实现方法如下: 步骤如下: 1.遍历目录及子目录 2.使用 scandir 判断目录是否为空,为空则使用rmdir 删除. <?php /** 删除所有空目录 * @param String $path 目录路径 */ function rm_empty_dir($path){ if(is_dir($path) && ($handle = opendir($path))!==false){ while((

php实现删除空目录的方法

 这篇文章主要介绍了php实现删除空目录的方法,实例分析了rmdir函数的使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下     本文实例讲述了php实现删除空目录的方法.分享给大家供大家参考.具体分析如下: php中可以通过rmdir()函数删除一个空目录 ? 1 2 3 4 5 6 7 8 <?php if (file_exists("/temp/test")) { rmdir("/temp/test"); print("Directory

php实现删除空目录的方法_php技巧

本文实例讲述了php实现删除空目录的方法.分享给大家供大家参考.具体分析如下: php中可以通过rmdir()函数删除一个空目录 <?php if (file_exists("/temp/test")) { rmdir("/temp/test"); print("Directory removed.\n"); } else { print("Directory does not exist.\n"); } ?> 上

删除一个文件夹目录里面含有很多文档的时候报错

今天同事在测试文件同步功能时,发现当删除一个文件夹目录,里面含有很多文档的时候就报: Caused by: org.apache.commons.dbcp.SQLNestedException: Cannot get a connection, pool exhausted at org.apache.commons.dbcp.PoolingDataSource.getConnection(PoolingDataSource.java:103) at org.apache.commons.dbc

配置文件-java定时删除多个不同目录下的多个文件

问题描述 java定时删除多个不同目录下的多个文件 写个java小程序,实现的功能是,可以通过配置文件.xml修改要删除的文件的路径来删除文件,可以同时修改多个文件路径来删除对应路径下的文件. 解决方案 用定时器写呗........ 解决方案二: 定时的话 可以用java和quartz结合 定时执行任务 关于用xml配置的话 这个没怎么弄过 解决方案三: 简单说下思路:1.通过dom4j来读取需要删除文件的路径2.通过jdk的方法(或者commons-io中的)进行文件删除

查看和删除系统共享的目录和磁盘

  想要知道你的电脑都共享了哪些文件夹和磁盘在网络上,并删除共享,有两种方法: 1.开始-->运行,输入cmd回车,然后继续输入:net share回车,看到了吧?那些后面带有$符号的就是你电脑现在正在共享的目录,最后面一列是共享类型,有一些是系统默认的共享,可以取消(第二种方法介绍). 第二种方法:依次打开我的电脑右键-->管理-->共享文件夹-->共享,右侧列表列出的就是你现在的共享的内容,不管是用户共享或默认共享,都可以通过右键的方式停止共享,如下图所示:

asp.net文件与文件夹操作类(文件删除,创建,目录删除)

下面这个文件操作类,可以删除目录并且不为空的目录哦,也可以创建文件写文件,删除文件以前递归操作目录. using system.io; using system.web; namespace sec {     /**////     /// 对文件和文件夹的操作类     ///     public class filecontrol     {          public filecontrol()          {          }          /**////     

linux基础命令(6) rmdir命令

昨天学习了创建文件和目录的命令rm,今天学习一下linux中命令: rmdir命 令.rmdir是常用的命令,该命令的功能是删除空目录,一个目录被删除之前必 须是空的.(注意,rm - r dir命令可代替rmdir,但是有很大危险性.)删除 某目录时也必须具有对父目录的写权限. 1.命令格式: rmdir [选项 ]... 目录... 2.命令功能: 该命令从一个目录中删除一个或多 个子目录项,删除某目录时也必须具有对父目录的写权限. 3.命令参 数: - p 递归删除目录dirname,当子

linux中rmdir命令使用详解

  今天学习一下linux中命令: rmdir命令.rmdir是常用的命令,该命令的功能是删除空目录,一个目录被删除之前必须是空的.(注意,rm - r dir命令可代替rmdir,但是有很大危险性.)删除某目录时也必须具有对父目录的写权限. 1.命令格式: rmdir [选项]... 目录... 2.命令功能: 该命令从一个目录中删除一个或多个子目录项,删除某目录时也必须具有对父目录的写权限. 3.命令参数: - p 递归删除目录dirname,当子目录删除后其父目录为空时,也一同被删除.如果