note 99838 added to function.rmdir

From: 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

« previous php.notes (#172430) next »