php递归删除指定文件夹的方法小结

这篇文章主要介绍了php递归删除指定文件夹的方法,实例总结了两种常用的递归删除文件夹的技巧,非常具有实用价值,需要的朋友可以参考下,本文实例总结了两种php递归删除指定文件夹的方法,分享给大家供大家参考,具体如下:

方法一:

  1. function recursiveDelete($dir)
  2. {
  3. if ($handle = @opendir($dir))
  4. {
  5. while (($file = readdir($handle)) !== false)
  6. {
  7. if (($file == ".") || ($file == ".."))
  8. {
  9. continue;
  10. }
  11. if (is_dir($dir . '/' . $file))
  12. {
  13. // call self for this directory
  14. recursiveDelete($dir . '/' . $file);
  15. }
  16. else
  17. {
  18. unlink($dir . '/' . $file); // remove this file
  19. }
  20. }
  21. @closedir($handle);
  22. rmdir ($dir);
  23. }
  24. }

方法二:

  1. /*
  2. 自定义的删除函数,可以删除文件和递归删除文件夹
  3. */
  4. function my_del($path)
  5. {
  6. if(is_dir($path))
  7. {
  8. $file_list= scandir($path);
  9. foreach ($file_list as $file)
  10. {
  11. if( $file!='.' && $file!='..')
  12. {
  13. my_del($path.'/'.$file);
  14. }
  15. }
  16. @rmdir($path);
  17. //这种方法不用判断文件夹是否为空,
  18. //因为不管开始时文件夹是否为空,到达这里的时候,都是空的
  19. }
  20. else
  21. {
  22. @unlink($path);
  23. //这两个地方最好还是要用@屏蔽一下warning错误,看着闹心
  24. }
  25. }
  26. $path='d:/技术文档 - 副本';
  27. //要删除的文件夹
  28. //如果php文件不是ANSI,而是UTF-8模式,
  29. //而且要删除的文件夹中包含汉字字符的话,调用函数前需要转码
  30. //$path=iconv( 'utf-8', 'gb2312',$path );
  31. my_del($path);

希望本文所述对大家的php程序设计有所帮助。