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); }