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使用内置dir类实现目录遍历删除
本文实例讲述了PHP使用内置dir类实现目录遍历删除的方法.分享给大家供大家参考.具体实现方法如下: function clearDir($dir) { if (file_exists($dir)) { if(!is_dir($dir)) exit("{$dir}不是一个目录"); else { $dirObj = dir($dir); while ($file = $dirObj->read()) { if (is_dir($dir .'/'. $file) &&
-
PHP删除指定目录中的所有目录及文件的方法
本文实例讲述了PHP删除指定目录中的所有目录及文件的方法.分享给大家供大家参考.具体实现方法如下: <?php /* * * 删除指定目录中的所有目录及文件(或者指定文件) * 可扩展增加一些选项(如是否删除原目录等) * 删除文件敏感操作谨慎使用 * @param $dir 目录路径 * @param array $file_type指定文件类型 */ function delFile($dir,$file_type='') { if(is_dir($dir)){ $files = scand
-
php通过rmdir删除目录的简单用法
本文实例讲述了php通过rmdir删除目录的简单用法.分享给大家供大家参考.具体分析如下: php可以通过rmdir()函数删除服务器上的目录,下面代码里用到了is_dir()函数,该函数用于判断指定的字符串是否是目录,删除成功返回True,否则返回False <?php if (!is_dir('exampledir')) { mkdir('exampledir'); } rmdir('exampledir'); ?> 希望本文所述对大家的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"); } ?> 上
-
php删除指定目录的方法
本文实例讲述了php删除指定目录的方法.分享给大家供大家参考.具体分析如下: 这段代码可实现递归删除子目录的功能 <?php /** * Delete a file, or a folder and its contents * (recursive algorithm) * @author Aidan Lister <aidan@php.net> * @version 1.0.3 * @param string $dirname Directory to delete * @retur
-
php实现用于删除整个目录的递归函数
本文实例讲述了php实现用于删除整个目录的递归函数.分享给大家供大家参考.具体实现方法如下: <?php function delete_directory($dir) { if ($dh = @opendir($dir)) { while (($file = readdir ($dh)) != false) { if (($file == ".") || ($file == "..")) continue; if (is_dir($dir . '/' . $
-
php遍历删除整个目录及文件的方法
本文实例讲述了php遍历删除整个目录及文件的方法.分享给大家供大家参考.具体分析如下: 我们可以使用RecursiveDirectoryIterator 和 RecursiveIteratorIterator删除目录和子目录及文件,子目录将先与父目录删除 <?php function cleanup_directory($dir) { $iter = new RecursiveDirectoryIterator($dir); foreach (new RecursiveIteratorItera
-
php判断并删除空目录及空子目录的方法
本文实例讲述了php判断并删除空目录及空子目录的方法.分享给大家供大家参考.具体实现方法如下: 步骤如下: 1.遍历目录及子目录 2.使用 scandir 判断目录是否为空,为空则使用rmdir 删除. <?php /** 删除所有空目录 * @param String $path 目录路径 */ function rm_empty_dir($path){ if(is_dir($path) && ($handle = opendir($path))!==false){ while((
-
Linux 删除特殊字符文件名或目录的方法
通过文件的inode号删除文件 先用ls -i 找出要删除文件的inode 号 ls -i |grep xxxxxx|awk '{print $2}'|xargs -i rm -f {} xxxxxx为文件的 inode 号 通过文件大小删除文件 删除当前目录以及所有子目录下的文件大小为零的文件 find ./ -size 0 -exec rm {} \; 删除当前目录下文件大小为零的文件(子目录不删除) find ./ -maxdepth 1 -empty -type f -print -de
-
Golang 删除文件并递归删除空目录的操作
目的: 删除文件之后,如果目录为空,递归删除为空的目录. svr.dataDir指目录的最外层,递归删除目录的时候判断到这一层即可. eg:/Users/danny/data func deleteFileOnDisk(localPath string) { log.Debugf("remove file: %s", localPath) if err := os.Remove(localPath); err != nil { log.Error(err) } dirsList :=
-
python实现删除文件与目录的方法
本文实例讲述了python实现删除文件与目录的方法.分享给大家供大家参考.具体实现方法如下: os.remove(path) 删除文件 path. 如果path是一个目录, 抛出 OSError错误.如果要删除目录,请使用rmdir(). remove() 同 unlink() 的功能是一样的 在Windows系统中,删除一个正在使用的文件,将抛出异常.在Unix中,目录表中的记录被删除,但文件的存储还在. os.removedirs(path) 递归地删除目录.类似于rmdir(), 如果子目
-
Java创建删除文件和目录的方法(推荐)
创建和删除文件/目录常用的File类的方法 1.boolean exists():判断文件或目录是否存在 2.boolean createNewFile():创建新文件 3.boolean delete():删除文件 4.boolean mkdirs():递归创建多级目录 5.File getParentFile():获取上级目录 1.创建/删除文件 try { //在D盘demo目录新建文件:test.txt File file = new File("D:\\demo\\test.txt&q
-
Python编程实现删除VC临时文件及Debug目录的方法
本文实例讲述了Python编程实现删除VC临时文件及Debug目录的方法.分享给大家供大家参考,具体如下: # *_* coding=gb2312 *-* import os import os.path import shutil invalidFileExtList =[".ncb",".user"] invalidDirectory=["Debug"] def InternalDeleteInvalidFile(str): bFlag=Fa
-
VC判断一个文件为目录的方法
本文实例讲述了VC判断一个文件为目录的方法,分享给大家供大家参考.具体实现方法如下: 这是一个自定义函数,用于判断一个文件是否为目录: 复制代码 代码如下: /** * check whether a file is a directory @return true if is a directory, else false(if file not exists, false) */ __declspec(dllexport) bool IsDirectory(const char* fi
-
php中通过DirectoryIterator删除整个目录的方法
本文实例讲述了php中通过DirectoryIterator删除整个目录的方法.分享给大家供大家参考.具体实现方法如下: <?php function cleanup_directory($dir) { foreach (new DirectoryIterator($dir) as $file) { if ($file->isDir()) { if (! $file->isDot()) { cleanup_directory($file->getPathname()); } } e
随机推荐
- 微信小程序的日期选择器的实例详解
- C#监控文件夹变化的方法
- Smarty变量调节器失效的解决办法
- phpStudy中升级MySQL版本到5.7.17的方法步骤
- 基于php实现随机合并数组并排序(原排序)
- Python使用multiprocessing创建进程的方法
- 通过Response.Flush()实现下载失败的解决方法
- ASP编程入门进阶(十七):FSO组件之文件夹操作
- C++空类默认函数详细解析
- 讲解使用Docker搭建Java Web运行环境
- 全面解析Bootstrap表单使用方法(表单样式)
- JS实现浏览器状态栏显示时间的方法
- CKEditor/FCKEditor 使用FCKeditor 2.6.5 快速使用教程(含插入图片)
- 网页编辑器FCKeditor 2.6.4精简配置方法
- 基于node.js的快速开发透明代理
- jQuery实现元素的插入
- C#随机设置900-1100毫秒延迟的方法
- 打开注册表,看优化软件在“搞什么鬼”
- 深入理解vuex2.0 之 modules
- 对int array进行排序的实例讲解