В РНР для удаления файла существует функция unlink(), для удаления пустого каталога — rmdir(). Что делать если нужно рекурсивно удалить папку со всеми файлами и подкаталогами. На помощь приходит glob() в связке с array_map().
Заметьте, что в функции нет ни единого цикла.
function removeDir($path) { if (is_file($path)) { @unlink($path); } else { array_map('removeDir',glob('/*')) == @rmdir($path); } @rmdir($path); }
Пример вызова
$path = $_SERVER['DOCUMENT_ROOT'].'/test'; removeDir($path);
Источник: https://www.kobzarev.com/programming/the-shortest-recursive-delete-possible/