note 22329 added to function.rmdir
| From: | MasterNES at aol dot com | Date: | Thu, 13 Jun 2002 19:43:05 +0000 |
| Subject: | note 22329 added to function.rmdir | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-31834@lists.php.net to get a copy of this message | ||
Here's mine, which is a bit safer. It immediately cancels the deletion if anything
couldn't be deleted.
// Enables deletion of directory if not empty
function clr_dir($dir) {
if(@ ! $opendir = opendir($dir)) {
return false;
}
while(false !== ($readdir = readdir($opendir))) {
if($readdir !== '..' && $readdir !== '.') {
$readdir = trim($readdir);
if(is_file($dir.'/'.$readdir)) {
if(@ ! unlink($dir.'/'.$readdir)) {
return false;
}
} elseif(is_dir($dir.'/'.$readdir)) {
// Calls itself to clear subdirectories
if(! clr_dir($dir.'/'.$readdir)) {
return false;
}
}
}
}
closedir($opendir);
if(@ ! rmdir($dir)) {
return false;
}
return true;
}
--
http://www.php.net/manual/en/function.rmdir.php
http://master.php.net/manage/user-notes.php?action=edit+22329
http://master.php.net/manage/user-notes.php?action=delete+22329
http://master.php.net/manage/user-notes.php?action=reject+22329