From: noscript at uni dot de Operating system: Windows and Unix both PHP version: 4.3.7 PHP Bug Type: *Directory/Filesystem functions Bug description: No access for deleting files after building recursive array
Description: ------------ This code should read a directory with all subfolders and files. After that it should delete the whole dir. But it doesnt work. It comes with a lot of permission denied messages. But Files are deletable and with unlink() it works in another test script without the array building. BTW: closedir returns false but I dont know why... Reproduce code: --------------- <?php function readdeldirs($dir) { if($dir[strlen($dir)-1]!='/')$dir.='/'; $dirs=Array(); $dh=opendir($dir); while(gettype($datei=readdir($dh))!='boolean') { if($datei!='.' && $datei!='..') { if(is_dir($dir.$datei))$dirs=array_merge($dirs,readdeldirs($dir.$datei)); $dirs[]=$dir.$datei; } } closedir($dh); return $dirs; } function deltree($dir) { $load=readdeldirs($dir); array_multisort($load, SORT_DESC); foreach($load as $del) { if(is_dir($del)) { rmdir($del); } if(is_file($del)) { unlink($file); } } rmdir($dir); } deltree('download'); Expected result: ---------------- Whole directory with all contents is deleted Actual result: -------------- Whole of Permission denied messages -- Edit bug report at http://bugs.php.net/?id=29062&edit=1 -- Try a CVS snapshot (php4): http://bugs.php.net/fix.php?id=29062&r=trysnapshot4 Try a CVS snapshot (php5): http://bugs.php.net/fix.php?id=29062&r=trysnapshot5 Fixed in CVS: http://bugs.php.net/fix.php?id=29062&r=fixedcvs Fixed in release: http://bugs.php.net/fix.php?id=29062&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=29062&r=needtrace Need Reproduce Script: http://bugs.php.net/fix.php?id=29062&r=needscript Try newer version: http://bugs.php.net/fix.php?id=29062&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=29062&r=support Expected behavior: http://bugs.php.net/fix.php?id=29062&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=29062&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=29062&r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=29062&r=globals PHP 3 support discontinued: http://bugs.php.net/fix.php?id=29062&r=php3 Daylight Savings: http://bugs.php.net/fix.php?id=29062&r=dst IIS Stability: http://bugs.php.net/fix.php?id=29062&r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=29062&r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=29062&r=float