note 109402 deleted from function.rmdir by danbrown

From: Date: Mon, 16 Jul 2012 15:18:59 +0000
Subject: note 109402 deleted from function.rmdir by danbrown
References: 1  Groups: php.notes 
Request: Send a blank email to php-notes+get-189177@lists.php.net to get a copy of this message
Note Submitter: holger1 at zentralplan dot de ---- An improved version of recursive rmdir (for non-empty directories). Now checking for symlinks. Returns false on failure: <?php function rrmdir($dir) { if (is_dir($dir)) { $dirscan = scandir($dir); foreach ($dirscan as $object) { if ($object != "." && $object != "..") { if (is_link($dir."/".$object)) { # object is symlink if (!unlink($dir."/".$object)) return FALSE; } elseif (is_dir($dir."/".$object)) { # object is folder if (!rrmdir($dir."/".$object)) return FALSE; } else { # object is file if (!unlink($dir."/".$object)) return FALSE; } } } reset($dirscan); if (!rmdir($dir)) return FALSE; return TRUE; } else return FALSE; } ?>

« previous php.notes (#189177) next »