php 删除文件夹,可删除不是空的文件夹

这是一款删除文件夹的php函数,本函数用的是递归删除,他可以删除指定目录的所有文件夹与文件,可以删除不是空目录的文件夹,方便的很,下面来看看函数实例方法,代码如下:

  1. /*—————————————————— */
  2. //– 递归删除文件及目录
  3. //– 例: del_dir ('../www.phpfensi.com/');注意:返回的/是必须的
  4. //– $type 强制删除目录, true 是 ,false 否
  5. /*—————————————————— */
  6. function del_dir ($dir,$type=true)
  7. {
  8. $n=0;
  9. if (is_dir($dir)) {
  10. if ($dh = opendir($dir)) {
  11. while (($file = readdir($dh)) !== false) {
  12. //.svn 忽略 svn 版本控制信息
  13. if ( $file == '.' or $file =='..' or $file == '.svn')
  14. {
  15. continue;
  16. }
  17. if (is_file ($dir.$file))
  18. {
  19. unlink($dir.$file);
  20. $n++;
  21. }
  22. if (is_dir ($dir.$file))
  23. {
  24. del_dir ($dir.$file.'/');
  25. if ($type)
  26. {
  27. $n++;
  28. rmdir($dir.$file.'/');
  29. }
  30. }
  31. } //开源代码phpfensi.com
  32. }
  33. closedir($dh);
  34. }
  35. return $n;
  36. }

很容易看懂吧,原理很简单,首先是查询目录所有文件或目录,如果是文件就删除了,如果是目录看看是不是空目录,如果是的删除,否则再调用本函数一次类推,就实现了删除不是空目录的功能了.