note 99838 added to function.rmdir
| From: | roberto at cantarano dot com | Date: | Thu, 09 Sep 2010 16:58:58 +0000 |
| Subject: | note 99838 added to function.rmdir | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-172430@lists.php.net to get a copy of this message | ||
Hello to all!
I don't remember were i found ( googling ) this useful function, if you know please let me know
so i can write here the name of the developer :)
This function is useful to delete all folder sub content, keeping the main directory
I have done some modifications, exactly i included a "preserve" variable, to keep some
content you don't want to delete.
function full_emptydir($fields){
if( !isset($fields['dirname']) or( isset($fields['dirname']) and !$dh =
@opendir($fields['dirname']) )) return;
$dirname = $fields['dirname'];
$DeleteMe = isset($fields['DeleteMe']) ? $fields['DeleteMe'] : false;
$preserve = isset($fields['preserve']) ? ( is_array($fields['preserve']) ?
$fields['preserve'] : array() ) : array();
while (false !== ($obj = readdir($dh))) {
if($obj=='.' || $obj=='..') continue;
if( count($preserve) == 0 or (count($preserve) > 0 and !in_array($obj, $preserve) ) ){
if (!@unlink($dirname.'/'.$obj)) full_emptydir( array( 'dirname' =>
$dirname.'/'.$obj, 'DeleteMe' => true, 'preserve' => $preserve)
);
}
}
closedir($dh);
echo $DeleteMe.'<br />';
if ($DeleteMe){
@rmdir($dirname);
}
}
I hope it will be useful!
See you ;)
----
Server IP: 69.147.83.197
Probable Submitter: 93.148.250.180
----
Manual Page -- http://www.php.net/manual/en/function.rmdir.php
Edit -- https://master.php.net/note/edit/99838
Del: integrated -- https://master.php.net/note/delete/99838/integrated
Del: useless -- https://master.php.net/note/delete/99838/useless
Del: bad code -- https://master.php.net/note/delete/99838/bad+code
Del: spam -- https://master.php.net/note/delete/99838/spam
Del: non-english -- https://master.php.net/note/delete/99838/non-english
Del: in docs -- https://master.php.net/note/delete/99838/in+docs
Del: other reasons-- https://master.php.net/note/delete/99838
Reject -- https://master.php.net/note/reject/99838
Search -- https://master.php.net/manage/user-notes.php