[ Voor 3% gewijzigd door Michali op 27-01-2003 14:51 ]
Used to be Down Under... Foto gallery
List all files in a directory tree under Win32:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
| function list_dir($dirname) { if($dirname[strlen($dirname)-1]!='\\') $dirname.='\\'; static $result_array=array(); $handle=opendir($dirname); while ($file = readdir($handle)) { if($file=='.'||$file=='..') continue; if(is_dir($dirname.$file)) list_dir($dirname.$file.'\\'); else $result_array[]=$dirname.$file; } closedir($handle); return $result_array; } |
maar ik realiseer me ineens dat de array static is en het heel goed mogelijk is dat ik niet weet dat een static var ook na een recursive call beschikbaar is in die aanroep.
[ Voor 6% gewijzigd door Michali op 27-01-2003 15:01 ]
1
2
3
4
5
6
7
8
| if ($handle = opendir($map)) { echo "dir handle: $handle\n"; echo "files:\n"; while (false !== ($file = readdir($handle))) { echo "$file\n"; } closedir($handle); } |
Nou weet ik niet meer precies hoe het in elkaar stak, maar dit vond ik nog tussen mijn brokken code. Volgens mij heb ik em zelfs nog uit het commentaar van php.net/readdir geplukt, maar dat weet ik niet meer zeker.
Wat je hierbij nog kan doen is checken of het een file is, zo ja, echo em, zo nee, is het een map en dan kan je dit stukje code bijvoorbeeld door er een functie van te maken nog eens aanroepen met $map naar deze map wijzend (en voor de uitlijning laat je em er bijvoorbeeld ff een paar spaties extra voor zetten, dat valt wel te regelen met een extra var)
Uit ervaring kan ik wel zeggen dat al deze readdir functies nogal traag gedragen, ik kreeg meestal een time out na 30 seconden, en heb em toen maar op oneindig gezet om het toch uit te kunnen voeren (php.ini)
ik heb m'n dag weer eens niet en moet sneller typen
[ Voor 6% gewijzigd door wacco op 27-01-2003 15:05 ]
Dan zit er bij jou webserver waarschijnlijk iets niet goed. Heb zelfs op P75 snelle resultaten.[message=16884169,noline]wacco schreef op 27 januari 2003 @ 15:04
Uit ervaring kan ik wel zeggen dat al deze readdir functies nogal traag gedragen, ik kreeg meestal een time out na 30 seconden, en heb em toen maar op oneindig gezet om het toch uit te kunnen voeren (php.ini)
Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR
Dit topic is gesloten.