PHP: Удаление каталога и его содержимого полностью

       PHP      файловая система    php      462    
PHP: Удаление каталога и его содержимого

Удаление пустого каталога | rmdir()

$dir = 'dir';
rmdir($dir);

// Если каталог не будет пуст, то получим ошибку
Warning: rmdir(dir): Directory not empty in...

Удаление каталога и его содержимого полностью

Данная функция (рекурсивная) удалит сам каталог и всё его содержимое:

$dir = 'dir';

function removeDirectory($dir) {
  if (file_exists($dir) && is_dir($dir)) {
    chmod($dir, 0777 );
    if ($elements = glob($dir."/*")) {
      foreach($elements as $element) {
        is_dir($element) ? removeDirectory($element) : unlink($element);
      }
    }
    rmdir($dir);
  }
  else{
    print_r('Error! There is no such directory or it is not a directory!');
  }
}

// Вызов функции
removeDirectory($dir);

Вариант #2

protected function removeDirectory($dir)
{
    $files = array_diff(scandir($dir), array('.','..'));
    foreach ($files as $file) {
        (is_dir("$dir/$file")) ? $this->removeDirectory("$dir/$file") : unlink("$dir/$file");
    }
    return rmdir($dir);
}
Комментарии временно оключены

Поиск

Популярное