本文实例讲述了php判断并删除空目录及空子目录的方法。分享给大家供大家参考。具体实现方法如下:
步骤如下:
1.遍历目录及子目录
2.使用 scandir 判断目录是否为空,为空则使用rmdir 删除。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
<?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 则简单很多:
1
|
find 目标文件夹 -mindepth 1 -depth -empty - type d - exec rm -r {} \; |
希望本文所述对大家的php程序设计有所帮助。