本文实例总结了两种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程序设计有所帮助。