本文實例總結了兩種php遞歸刪除指定文件夾的方法。分享給大家供大家參考。具體如下:
方法一:
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);
}
}
方法二:
/*
自定義的刪除函數,可以刪除文件和遞歸刪除文件夾
*/
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程序設計有所幫助。