Autor Zpráva
jonáš
Profil
Je mi docela záhadou, jakým způsobem funkce ReadDir() prochází adresáře,
mam cyklus a vněm je tohle: echo ReadDir($dp)."<br>";

výsledkem je správně seznam souborů, ale proč nejsou podle abecedy???

bjmamh.gif
cjmamh.gif
djmamh.gif
ajmamh.gif

Podle čeho je řadí?
Dá se to nějak ovlivnit?

Jon
Marty
Profil
Cituji: http://mirrors.inway.cz/manual/cs/function.readdir.php

Vrací název dalšího souboru v adresáři. Názvy souborů nejsou nijak tříděny.

Ovlivnit to asi půjde - udělat si funkci vlastní (myslím, že tam něco v komentářích bude, určitě sem tam viděl třídění podle data vytvoření souboru).
jonáš
Profil
to je docela divný, že nejsou nějak tříděny. Musej, protože mi je to vypisuje pořád ve stejným pořadí...
ale děkuju.

J
23k_fitko
Profil *
nacti si ty soubory do pole $files[] = ....

a pak si ho srovnej jak potrebujes a echni
halogan
Profil
sort/usort/ksort/arsort...
printf
Profil
Myslím že je to řadí podle pozice ve filesystému, která záleží na pořadí přidání a na různých optimalizačních technikách a přesunech.
thingwath
Profil
Ta funkce to vrací asi přesně tak jak to dostává od operačního systému a ten to právě může mít seřazené všelijak... Třeba abeceda by moc logická nebyla, protože ta taky záleží na nastavení lokalizace (pro linuxáky, pohrajte si s LC_COLLATE a zkoušejte si mezitím ls).
jonáš
Profil
s tim sort($files) už je to vpohodě, dík.
Toto téma je uzamčeno. Odpověď nelze zaslat.

0