note 72435 added to function.rmdir
| From: | PHPcoder at cyberpimp dot sexventure dot com | Date: | Thu, 18 Jan 2007 17:42:28 +0000 |
| Subject: | note 72435 added to function.rmdir | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-121896@lists.php.net to get a copy of this message | ||
This is my solution for removing directories:
<?php
/* Function to remove directories, even if they contain files or
subdirectories. Returns array of removed/deleted items, or false if nothing
was removed/deleted.
by Justin Frim. 2007-01-18
Feel free to use this in your own code.
*/
function rmdirtree($dirname) {
if (is_dir($dirname)) { //Operate on dirs only
$result=array();
if (substr($dirname,-1)!='/') {$dirname.='/';} //Append slash if necessary
$handle = opendir($dirname);
while (false !== ($file = readdir($handle))) {
if ($file!='.' && $file!= '..') { //Ignore . and ..
$path = $dirname.$file;
if (is_dir($path)) { //Recurse if subdir, Delete if file
$result=array_merge($result,rmdirtree($path));
}else{
unlink($path);
$result[].=$path;
}
}
}
closedir($handle);
rmdir($dirname); //Remove dir
$result[].=$dirname;
return $result; //Return array of deleted items
}else{
return false; //Return false if attempting to operate on a file
}
}
?>
----
Server IP: 216.235.15.211
Probable Submitter: 64.7.136.101
----
Manual Page -- http://www.php.net/manual/en/function.rmdir.php
Edit -- https://master.php.net/note/edit/72435
Del: integrated -- https://master.php.net/note/delete/72435/integrated
Del: useless -- https://master.php.net/note/delete/72435/useless
Del: bad code -- https://master.php.net/note/delete/72435/bad+code
Del: spam -- https://master.php.net/note/delete/72435/spam
Del: non-english -- https://master.php.net/note/delete/72435/non-english
Del: in docs -- https://master.php.net/note/delete/72435/in+docs
Del: other reasons-- https://master.php.net/note/delete/72435
Reject -- https://master.php.net/note/reject/72435
Search -- https://master.php.net/manage/user-notes.php