Все функции работают, кроме removeIt one (пустая страница). Вот мой код ниже:Функция не хочет удалять папку
class Dir {
public function emptyIt($path) {
if ($handle = opendir($path)) {
while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != "..") {
if(is_file($path."/".$file)) {
unlink($path."/".$file);
} else {
if($handle2 = opendir($path."/".$file)) {
while (false !== ($file2 = readdir($handle2))) {
if ($file2 != "." && $file2 != "..") {
unlink($path."/".$file."/".$file2);
}
}
}
rmdir($path."/".$file);
}
}
}
}
return true;
}
function isEmpty($path) {
$handle=opendir($path);
$i=0;
while (false !== ($file = readdir($handle))) {
$i++;
}
closedir($handle);
if($i>=2) {
return false;
} else {
return true;
}
}
public function removeIt($path) {
if (emptyIt($path)) {
if (rmdir($path)) {
return true;
} else {
return false;
}
}
}
}
У меня есть 3 функции, чтобы сделать его работу:
isEmpty
: проверить, если папка пустаemptyIt
: пустая папка и вложенные папкиremoveIt
: удалить папку
Подсказка?
Любая ошибка .....? – geedubb
'emptyIt' должен вызывать себя рекурсивно, когда находит папку, если есть больше уровней вложенности. – Barmar
@geedubb: Нет, нет ошибок. –