Маленькое вступление
Известный фреймворк CodeIgniter не удаляет всю ветку каталога при указании относительного пути.
функция не удалила корневой каталог со следующими параметрами: (“../tnp/dir”,TRUE), В результате рекурсии все так и оставался один корневой каталог dir.
Так как встроенный хелпер жизненно необходим фреймворку, не стал его изменять. Сделал простую функцию:
function rmdir_recursive($dir) {
$files = scandir($dir);
array_shift($files); // remove ‘.’ from array
array_shift($files); // remove ‘..’ from array
foreach ($files as $file) {
$file = $dir . ‘/’ . $file;
if (is_dir($file)) {
rmdir_recursive($file);
if (is_dir($file))
rmdir($file);
} else {
unlink($file);
}
}
rmdir($dir);
}
PS. меня разочаровал код хелпера работы с файлами, изобилует символами @ которые в некоторых случаях негативно влияют на скорость работы скрипта.
Комментарии
Отправить комментарий