Подробно и с комментариями
<?php
$path = "../gallery/";//Удалим папку gallery и всё содержимое
function RemoveDir($path) {//Функция рекурсивного удаления
if (file_exists($path) && is_dir($path)) {//Проверяем существует ли папка и папка ли это вообще
$dirHandle = opendir($path);//Заходим в папку
while (false !== ($file = readdir($dirHandle))) {//По циклу пока есть что-то внутри берём это
if ($file != '.' && $file != '..') {//Исключаем папки поднятия вверх на каталог
$tmpPath = $path . '/' . $file;//Сохраняем путь к файлу/папке
@chmod($tmpPath, 0777);//Ставим чмод который позволит нам делать всё
if (is_dir($tmpPath)) {//Проверяем точно ли это папка?
RemoveDir($tmpPath);//Запускаем нашу функцию нова
} else {//Если это файл
if (file_exists($tmpPath)) {//Проверяем файл ли это?
unlink($tmpPath);//Это файл! Удаляем его!
}
}
}
}
closedir($dirHandle);//Выходим из папки
if (file_exists($path)) {//Проверка существует ли ещё наша папка?
rmdir($path);//Удаляем нафег
echo 'Папка и всё содержимое успешно удалено!';
}
} else {
echo 'Удаляемой папки не существует или это файл!';
}
}
?>