本文实例总结了两种php递归删除指定文件夹的方法。分享给大家供大家参考。具体如下:
方法一:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
function recursiveDelete( $dir ) { if ( $handle = @opendir( $dir )) { while (( $file = readdir( $handle )) !== false) { if (( $file == "." ) || ( $file == ".." )) { continue ; } if ( is_dir ( $dir . '/' . $file )) { // call self for this directory recursiveDelete( $dir . '/' . $file ); } else { unlink( $dir . '/' . $file ); // remove this file } } @ closedir ( $handle ); rmdir ( $dir ); } } |
方法二:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
/* 自定义的删除函数,可以删除文件和递归删除文件夹 */ function my_del( $path ) { if ( is_dir ( $path )) { $file_list = scandir( $path ); foreach ( $file_list as $file ) { if ( $file != '.' && $file != '..' ) { my_del( $path . '/' . $file ); } } @ rmdir ( $path ); //这种方法不用判断文件夹是否为空, //因为不管开始时文件夹是否为空,到达这里的时候,都是空的 } else { @unlink( $path ); //这两个地方最好还是要用@屏蔽一下warning错误,看着闹心 } } $path = 'd:/技术文档 - 副本' ; //要删除的文件夹 //如果php文件不是ANSI,而是UTF-8模式, //而且要删除的文件夹中包含汉字字符的话,调用函数前需要转码 //$path=iconv( 'utf-8', 'gb2312',$path ); my_del( $path ); |
希望本文所述对大家的php程序设计有所帮助。