Версия для печати

Удалить каталог вместе с его содержимым

Для удаления каталога со всем его содержимым необходимо осуществить рекурсивный спуск, удаляя перед использованием функции rmdir() е файлы при помощи функции unlink();

  1. <?php
  2.  
  3. // Рекурсивная функция удаления каталога
  4. // с произвольной степенью вложенности
  5. function full_del_dir($directory)
  6. {
  7. $dir = opendir($directory);
  8. while(($file = readdir($dir)))
  9. {
  10. // Если функция readdir() вернула файл - удаляем его
  11. if(is_file($directory."/".$file)){
  12. unlink($directory."/".$file);
  13. }
  14. // Если функция readdir() вернула каталог и он
  15. // не является текущим или родительскм - осуществляем
  16. // рекурсивный вызов full_del_dir() для этого каталога
  17.  
  18. else if(is_dir($directory."/".$file) && $file != "." && $file != ".."){
  19. full_del_dir($directory."/".$file);
  20. }
  21.  
  22. closedir($dir);
  23. rmdir($directory);
  24.  
  25. }
  26. }
  27.  
  28. full_del_dir("rm");
  29.  
  30. ?>
Прочитано 3627 раз