[PHP] - Problem mit dir()
-
Hi,
Hab einen Ordner voller Bilder im Format:
000.jpg 001.jpg 002.jpg ... 0081.jpgDie will ich jetzt mit dem hier auslesen:
$imgdir->rewind(); while($file=$imgdir->read()){ // jpg? if(substr($file, strlen($file)-4, strlen($file))==".jpg"){ $fc++; echo $file."<br>"; } }
Normalerweise sollte der Output so sein:
000.jpg 001.jpg 002.jpg usw ...
Bekomme aber:
077.jpg 078.jpg 028.jpg 029.jpg 030.jpg 031.jpg 032.jpg 033.jpg 034.jpg 035.jpg 036.jpg 037.jpg 038.jpg 039.jpg 079.jpg 080.jpg 081.jpg 000.jpg 002.jpg 003.jpg 004.jpg 006.jpg 007.jpg 008.jpg 010.jpg 011.jpg 012.jpg 040.jpg 041.jpg 042.jpg 001.jpg 014.jpg 015.jpg 016.jpg 017.jpg 018.jpg 019.jpg 020.jpg 021.jpg 022.jpg 023.jpg 024.jpg 025.jpg 043.jpg ... 009.jpg 013.jpg
Woran liegt das?
In Ordnern mit weniger Bildern geht alles klar!
Wär doch doof, wenn Bilder in einer anderen Abfolge angezeigt werden als sie zeitlich entstanden sind!Danke!
-
Das liegt daran, dass er die Dateien nicht nach Namen sortiert sondern nach Datum. Du musst die Dateien in ein Array lesen und dieses dann per Bubblesort sortieren.
-
Windoof schrieb:
... und dieses dann per Bubblesort sortieren.
Oder mit einem anderen (viel schnelleren) Sortieralgorythmus.
Zum Sortieren von Arrays in PHP würde ich mir übrigens mal die Funktionen auf dieser Seite anschauen ;).
-
ob die wirklich schneller sind weiß ich nicht, ich vermute eher, dass da nichts weiter als Bubblesort hinter steht.
-
Windoof schrieb:
ob die wirklich schneller sind weiß ich nicht, ich vermute eher, dass da nichts weiter als Bubblesort hinter steht.
bubblesort ist so ziemlich der lahmste sortier algo den ich kenne.
warum sollte php den verwenden?
-
Windoof schrieb:
ob die wirklich schneller sind weiß ich nicht, ich vermute eher, dass da nichts weiter als Bubblesort hinter steht.
Da schließ ich mich Shades Frage an: Warum sollte PHP einen so lahmen Sortieralgorythmus verwenden, wenn es doch auch leicht zu implementierende viel schnellere Sortieralgorythmen gibt??
-
Hi,
die anderen Sortieralgorithmen bauen auch nicht auf BuubleSort auf.
Während BubbleSort einfach nur alle Elemente durchgeht und bei Bedarf die beiden Elemente vertauscht und dadurch das größte nach rechts verschiebt, sodass man danach einen Durchlauf bis n-1 macht, arbeitet z.B. QuickSort so, dass es - üblericherweise die Mitte - ein Vergleichselement bestimmt und dann von links das erste Element sucht, das größer ist als der Vergleichswert, und von rechts das erste, das kleiner als der Vergleichswert, ist, sucht usw.Quicksort hat sich bei den Sortieralgorithmen für größere Datenmengen als der schnellste Algorithmus bewährt.
MfG Eisflamme
-
Mis2com == Eisflamme? *grübel*