Я создаю в своем проекте каталог с подкаталогами и файлами.
После того, как я выполняю свои обязанности с содержимым файлов, я хочу удалить всю папку (все подкаталоги, файлы и основной каталог).
Я использую ZF2 Framework, и это моя функция:
public function recursiveRemoveDirectory($directory) {
foreach(glob("{$directory}/*") as $file) {
if(is_dir($file)) {
$this->recursiveRemoveDirectory($file);
} else {
unlink($file);
}
}
rmdir($directory);
}
и я называю эту функцию следующим образом:
$this->recursiveRemoveDirectory($dirPath);
Моя функция стирает все содержимое (подкаталоги и файлы) каталога, но не каталог.
Я вижу, что уже существуют вопросы по этой теме, но я не нашел решения.
Я думаю там Удалить каталог с файлами в нем? Вы можете найти все способы, чтобы удалить папку с помощью php.
Кроме того, я рекомендую вам эту библиотеку для файловых операций: https://github.com/thephpleague/flysystem
Это инкапсулирует все, что вам нужно, и хорошо документировано здесь: http://flysystem.thephpleague.com/api/
Других решений пока нет …