這篇文章主要介紹了php遞歸刪除指定文件夾的方法,實例總結了兩種常用的遞歸刪除文件夾的技巧,非常具有實用價值,需要的朋友可以參考下
本文實例總結了兩種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程序設計有所幫助。
新聞熱點
疑難解答