Я пытаюсь удалить весь каталог, в котором есть файлы или, возможно, даже больше папок, я тестировал следующий код:
function rrmdir($dir) {
if (is_dir($dir)) {
$objects = scandir($dir);
foreach ($objects as $object) {
if ($object != "." && $object != "..") {
if (is_dir($dir. DIRECTORY_SEPARATOR .$object) && !is_link($dir."/".$object)){
rrmdir($dir. DIRECTORY_SEPARATOR .$object);
}
else{
unlink($dir. DIRECTORY_SEPARATOR .$object);
}
}
}
rmdir($dir);
}
}
Приведенный выше код работает должным образом и удаляет каталог успешно Когда я пробую тот же код в Cake PHP 4, он не удаляет каталог:
public function rrmdir($dir) {
$this->autoRender = false;
if (is_dir($dir)) {
$objects = scandir($dir);
foreach ($objects as $object) {
if ($object != "." && $object != "..") {
if (is_dir($dir. DS .$object) && !is_link($dir."/".$object)){
$this->rrmdir($dir. DS .$object);
}
else{
unlink($dir. DS .$object);
}
}
}
$this->rmdir($dir);
}
}