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

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

<?php
    // с произвольной степенью вложенности
    function full_del_dir($directory)
    {
        $dir  = opendir($directory);
        while(($file = readdir($dir)))
        {
        // Если функция readdir() вернула файл - удаляем его
        if(is_file($directory."/".$file)){
          unlink($directory."/".$file);
        }
        // Если функция readdir() вернула каталог и он
      // не является текущим или родительскм - осуществляем
        // рекурсивный вызов full_del_dir() для этого каталога  
     
        else if(is_dir($directory."/".$file) &amp;&amp; $file != "." &amp;&amp; $file != ".."){
          full_del_dir($directory."/".$file);
        }
     
        closedir($dir);
        rmdir($directory);
     
      }
    }
     
    full_del_dir("rm");
     
    ?>

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *