我正在开发一个

PHP函数,它将以递归方式删除所有不包含从给定绝对路径开始的文件的子文件夹.

这是迄今为止开发的代码:

function RemoveEmptySubFolders($starting_from_path) {

// Returns true if the folder contains no files

function IsEmptyFolder($folder) {

return (count(array_diff(glob($folder.DIRECTORY_SEPARATOR."*"),Array(".",".."))) == 0);

}

// Cycles thorugh the subfolders of $from_path and

// returns true if at least one empty folder has been removed

function DoRemoveEmptyFolders($from_path) {

if(IsEmptyFolder($from_path)) {

rmdir($from_path);

return true;

}

else {

$Dirs = glob($from_path.DIRECTORY_SEPARATOR."*",GLOB_ONLYDIR);

$ret = false;

foreach($Dirs as $path) {

$res = DoRemoveEmptyFolders($path);

$ret = $ret ? $ret : $res;

}

return $ret;

}

}

while (DoRemoveEmptyFolders($starting_from_path)) {}

}

根据我的测试,这个功能可行,但我很高兴看到任何有关更好性能代码的想法.

php 空文件夹,使用PHP删除空子文件夹相关推荐

  1. 如何写sybase sql脚本文件_写一个删除lock文件的skill脚本

    Cadence软件使用过程中偶尔会遇到文件被lock的情况,这是Cadence软件对文件的一种保护措施,大部分情况都是对用户友好的,但是偶尔也会给用户带来困扰,给工作带来的一定的不便. 文件是如何被锁 ...

  2. python压缩文件为zip-python 压缩文件为zip后删除原文件

    压缩.log 文件为zip后删除原文件 需要注意:本人作为小白,该脚本需要和.log在一起,后面有时间需要改正. #!/usr/local/python/bin/python #-*-coding=u ...

  3. 360android文件恢复,删除的文件怎么恢复?360删除的文件怎么恢复?

    如今几乎所有人都会使用一款安全软件,电脑垃圾的清理电脑防毒等都必须用到一款安全软件,但是这些安全软件有时在清理垃圾删除一些文件的时候可能会删除一些不该删除的文件,那么删除的文件怎么恢复?360删除的文 ...

  4. linux 删除乱码的文件夹,Linux服务器删除乱码文件和文件夹的方法

    使用ls -i命令找到文件或文件夹的节点编号 前面的就是节点号了,接下来使用find命令查询并且删除 -inum指根据节点号查询:-delete顾名思义就是删除操作了.这样就成功删除乱码文件了,值得注 ...

  5. js 删除服务器文件,Node.js复制/删除服务器端文件到指定目录文件夹下,并且预判是否存在该目录,如果没有,则递归创建该文件夹目录...

    注意,前情提示: 本代码基于<Node.js(nodejs)对本地JSON文件进行增.删.改.查操作(轻车熟路)> 传送门https://blog.csdn.net/qq_37860634 ...

  6. php删除文件代码指定,PHP删除指定文件夹所有文件代码

    在php中系统自带了文件删除函数unlink,但是此文件只是一个文件删除函数,如果我们要删除指定目录中的文件就需要配合其它方法来操作了,下面我给各位朋友介绍. 删除指定文件夹所有文件  代码如下 复制 ...

  7. 文件夹访问被拒绝无法删除文件,怎么提高权限删除目标文件夹

    关于"文件夹访问被拒绝"无法删除文件的解决方法 "文件访问拒绝无法删除"所遇到的问题分析? 1.无法删除"XXXX"文件,访问被拒绝,请确定 ...

  8. mobaxterm 传文件夹_MobaXterm 中删除的文件夹或文件如何恢复?

    如何安全找回丢失数据的方法 1. 下载并安装B计划数据恢复软件. 2. 运行恢复软件,点击"深度扫描". 深度扫描是绕过文件系统直接从硬盘.U盘.SD卡等设备底层恢复数据,因此使用 ...

  9. linux复rm删除文件,LINUX 恢复rm删除的文件

    在本文中,我们将讨论foremost,这是一个非常有用的Linux开源取证工具,能够使用称为"data carving"的技术恢复已删除的文件.该程序最初由美国空军特殊调查局开发, ...

最新文章

  1. MySQL中update修改数据与原数据相同会再次执行吗?
  2. 如何在Kubernetes中暴露服务访问
  3. C#中控制窗体的显示与隐藏
  4. 每天20分钟,只需一年,一年级学生英语听力达到六年级水平!关键是坚持一点都不难!
  5. JavaScript将iframe中控件的值传到主页面控件中
  6. 博客园添加鼠标粒子吸附特效
  7. Linux 内核修正 5 年历史的严重 bug
  8. CSS3/ 弹性布局flex
  9. 更新wordpress遇到prepare警告问题的解决
  10. 内存读写函数实现进程间通信
  11. 多视几何_计算一副图像上的点在另一福图像上的对应点
  12. caffemodel中的参数及特征的抽取
  13. Carrot2 聚类算法概要说明
  14. matlab+dds正弦表,FPGA模拟DDS正弦波信号源1
  15. 进制转换函数 Java
  16. 这一代系统,真的不行!(一)
  17. 视频转换器如何将视频MKV转换成MP4格式 1
  18. 【新书推荐】【2019】电磁理论和等离子体电子学的工程师手册
  19. 【华为云学院】OpenStack原理及在华为云中的应用---知识总结
  20. Python数据可视化:平凡的世界

热门文章

  1. JavaScript事件流--事件冒泡、目标与事件捕获
  2. uva10718 - Bit Mask(贪心)
  3. Sitemap Celebration(使用嵌套列表的树形导航)
  4. 金笛邮件-邮件连接数据库专题之oracle数据库
  5. Golang sync.Map 简介与用法
  6. Linux pid_t 类型的定义
  7. 【Java并发编程】之十六:深入Java内存模型——happen-before规则及其对DCL的分析(含代码)...
  8. git detached head
  9. DotNetBar.Bar图标列表的使用
  10. Android学习——Fragment动态加载