Рекурсивное удаление папки (не обращая на права)

  1. function DelDir($dir) {
  2. if (!is_writeable($dir) && is_dir($dir)) {
  3. chmod($dir, 0777);
  4. }
  5. $handle = opendir($dir);
  6. while ($tmp=readdir($handle)) {
  7. if ($tmp!='..' && $tmp!='.' && $tmp!='') {
  8. if (is_writeable($dir . DIRECTORY_SEPARATOR . $tmp) && is_file($dir . DIRECTORY_SEPARATOR . $tmp)) {
  9. unlink($dir . DIRECTORY_SEPARATOR . $tmp);
  10. } elseif (!is_writeable($dir . DIRECTORY_SEPARATOR . $tmp) && is_file($dir . DIRECTORY_SEPARATOR . $tmp)) {
  11. chmod($dir . DIRECTORY_SEPARATOR . $tmp, 0666);
  12. unlink($dir . DIRECTORY_SEPARATOR . $tmp);
  13. }
  14. if (is_writeable($dir . DIRECTORY_SEPARATOR . $tmp) && is_dir($dir . DIRECTORY_SEPARATOR . $tmp)) {
  15. DelDir($dir . DIRECTORY_SEPARATOR . $tmp);
  16. } elseif (!is_writeable($dir . DIRECTORY_SEPARATOR . $tmp) && is_dir($dir . DIRECTORY_SEPARATOR . $tmp)) {
  17. chmod($dir . DIRECTORY_SEPARATOR . $tmp, 0777);
  18. DelDir($dir . DIRECTORY_SEPARATOR . $tmp);
  19. }
  20. }
  21. }
  22. closedir($handle);
  23. rmdir($dir);
  24. if (!is_dir($dir)) {
  25. return true;
  26. } else {
  27. return false;
  28. }
  29. }
Проверено на платном хосте, рубит с .htaccess , папки 700 , файлы 600
на бесплатном хосте скорее вссего будет ругаться га chmod()

Реклама

Мы в соцсетях

tw tg yt gt