Блог о веб-разработке

Пишем код.
Разбираемся в деталях.

Практические статьи, примеры кода и готовые решения. От первой строки PHP до инструментов, которые упрощают работу.

PHP, Статьи, Языки программирования

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

Для удаления каталога со всем его содержимым необходимо осуществить рекурсивный спуск, удаляя перед использованием функции 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");
     
    ?>