Използването на функцията за търсене (както току-що направих) щеше да ви даде отговора: stackoverflow.com/questions/3338123/ - personSebastian Wramba  schedule18.03.2012
<?php
// When the directory is not empty:
function rrmdir($dir) {
if (is_dir($dir)) {
$objects = scandir($dir);
foreach ($objects as $object) {
if ($object != "." && $object != "..") {
if (filetype($dir."/".$object) == "dir") rrmdir($dir."/".$object); else unlink($dir."/".$object);
}
}
reset($objects);
rmdir($dir);
}
}
?>
Редактира rmdir на rrmdir за коригиране на печатна грешка от очевидно намерение за създаване на рекурсивна функция.
personlorenzo-sschedule18.03.2012
comment
Има правописна грешка, поради която дълбоките нива на директориите не работят. if (filetype($dir./.$object) == dir) rmdir($dir./.$object); трябва да бъде rrmdir, за да извика отново функцията... В противен случай, страхотно!
- personamurrell; 18.06.2014
function removeDir($path) {
// Normalise $path.
$path = rtrim($path, '/') . '/';
// Remove all child files and directories.
$items = glob($path . '*');
foreach($items as $item) {
is_dir($item) ? removeDir($item) : unlink($item);
}
// Remove directory.
rmdir($path);
}
removeDir('/path/to/dir');
Това изтрива всички дъщерни файлове и папки и след това премахва папката от най-високо ниво, предадена към него.
Това може да направи с някои проверки за грешки, като тестване на предоставения път е директория и проверка дали всяко изтриване е успешно.
personalexschedule18.03.2012
comment
ако има подпапки с файлове, тази функция не работи.. изтрийте публикацията си, моля, за да не губите време на потребителите..
- personT.Todua; 26.11.2014
comment
@tazotodua Вместо да напишете лошо конструирано изречение, заявявайки, че не работи, защо не обясните защо не работи, за да мога да го поправя?
- personalex; 27.11.2014