"Real software engineers work from 9 to 5, because that is the way the job is described in the formal spec. Working late would feel like using an undocumented external procedure."
            een dir kan alleen worden verwijderd als ie leeg is
                    PHP:
                                                1
2
 | $weg = @rmdir($dir); if($weg) { print "ok en weg"; } else { print "niet leeg"; }  | 
[ Voor 69% gewijzigd door Snake op 11-12-2005 21:10 . Reden: schandalige vaut ]
Going for adventure, lots of sun and a convertible! | GMT-8
Verwijderd
en je hebt voldoende rechten en de directory of bestanden in die directory zijn niet in gebruik en ...snake903 schreef op zondag 11 december 2005 @ 21:08:
een dir kan alleen worden verwijderd als ie leeg is
            Hij klopt bijna, alleen het punt waarop je je functie recursief aanroept klopt niet. Die call returned namelijk ook een waarde, alleen doe je er niets mee. Beter zou dus dit zijn:
Zoals je kunt zien heb ik die recursieve call nu binnen het if statement geplaatst, daarbij maak ik dan gebruik van short circuit evaluation. Daarnaast heb ik die eerste controle ook aangepast, zodat ie continue aanroept in plaats van nog een if statement nest. Scheelt weer een keer nesten.
                    
            PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 | <? function rm_dir($dir) { $handle = opendir($dir); while (false !== ($file = readdir($handle))) { if (in_array($file, array('.', '..'))) continue; if ( !( is_dir($dir.'/'.$file) && rm_dir($dir.'/'.$file) ) ) { return false; } } closedir($handle); @rmdir($dir); return true; } ?>  | 
Zoals je kunt zien heb ik die recursieve call nu binnen het if statement geplaatst, daarbij maak ik dan gebruik van short circuit evaluation. Daarnaast heb ik die eerste controle ook aangepast, zodat ie continue aanroept in plaats van nog een if statement nest. Scheelt weer een keer nesten.