Frage von Findo1, 129

PHP-Bilder aus Ordner auslesen und sortieren?

Schule ruft , daher versuche ich es möglichst kurz zu halten:

Ich lese Bilder aus einem Ordner aus und lasse sie anzeigen , mit folgendem PHP-Code: http://sevenx.de/blog/tutorial-einfach-mit-php-ordner-auslesen-und-dateien-und-b...

(Der Code unter der Überschrift "Bilder aus Ordner auslesen und anzeigen").

Das Ergebnis ist... Unbeschreiblich , die Bilder werden gar nicht sortiert hab ich das Gefühl.

Nun meine Frage : Wie schaffe ich es die Bilder so zu sortieren, dass das Bild was ich als letzes Hochgeladen habe, auch ganz Oben ist? (Wie beim Handy, dass bild was ich als letzes geschossen habe ist ganz oben in der Galerie).

lg. Findo1

Antwort
von NBCde, 23

An deiner Stelle würde ich das Script von der Website nicht nutzen, und lieber die Bilder in einer Datenbank abspeichern.. Dann kannst du bei der MySQL-Query "Sort by id DESC" eingeben und es wird alles schön, sortiert ausgegeben. Du solltest aber daran denken, dass du bei dem PHP-Script, das du in deine Seite inkludierst, den Content-type zu "Image/JPEG" zu setzten.

Antwort
von Sawascwoolf, 129

Füge in Zeile 5 folgenden Code ein:

usort($files, function($a, $b,$ordner){ return filemtime($ordner.$a) < filemtime($ordner.$b); });
Kommentar von Findo1 ,

In Zeile 5? Du meinst danach , oder davor?

Kommentar von Sawascwoolf ,

Ah, ich war in das falsche Beispiel gerutscht. Du musst meinen Codeschnipsel in Zeile 10 einsetzen und $files durch $allebilder ersetzen.

Btw, bitte gewöhne dir nicht das programmieren mit deutschen Variablen an, das ist ein schlechter Stil und man bekommt es nur schwer wieder raus^^

Kommentar von Findo1 ,

I-wie hat es jetzt eine sortierung , aber nicht gleißmäßig. Einige Bilder sind einfach i-wo in der mitte oder am ende

Kommentar von Sawascwoolf ,

Das Problem ist, dass PHP keine Erstellzeiten abrufen kann soweit ich das weiß, sondern nur Änderungs-Zeitstempel. Dadurch sind die Dateien vermutlich durcheinander.

Kommentar von maximilianus7 ,

also bei mir funktioniert der usort von Sawascwoolf einwandfrei. was meinst du mit nicht gleichmässig?

gibts einen neuen code zum anschauen?

Kommentar von Findo1 ,

aber i-wie muss man das ja realisieren? ich meine das was ich moechte ist in fast jeder online galerie , oder cloud standart

Kommentar von Sawascwoolf ,

Dort werden die Bilder allerdings nicht über einen FTP-Account hochgeladen sondern mittels PHP in einer Datenbank (MySQL) gespeichert. Dabei wird ein Zeitstempel in der Datenbank abgelegt und die Galerie durchsucht quasi nicht deinen Ordner, sondern ruft zunächst die entsprechenden Bildepfade aus der Datenbank und läd diese dann entsprechend.

Kommentar von Findo1 ,

Das habe ich mir schon fast gedacht , und hab mich deshalb mal in die Richtung informiert. Werden die Bilder als Datei oder nur die Pfade in der Datenbank gespeichert? Weil , die Datei in eine Datenbank soll ja alles andere als eine "clevere Lösung" sein.
Ich habe schon einen Login per MySQL Datenbank, allerdings bräuchte ich einen Ansatz, weil dann Stelle ich mein System darauf um! 
Zu musst wissen , ich bin eine "Cloud" für meine Familie am erstellen. Und mir ist es wichtig , dass die Bilder gut sortiert angezeigt werden.

Kommentar von Sawascwoolf ,

in der Datenbank wird nur der Pfad der Datei gespeichert inkl. des hochladen Zeitpunktes. Aber eventuell solltest du ein fertiges Skript dafür verwenden.

Kommentar von Findo1 ,

Ich hab schon eins gesucht. Finde nicht wirklich eins , weil ich nicht genau weiß wonach ich googeln soll. Vllt muss ich es mir selbst zusammen basteln

Kommentar von Sawascwoolf ,

https://de.wordpress.org/plugins/nextgen-gallery/

Das ist ein Gallerie Plugin für das CMS Wordpress. Kannst du ja mal antesten.

Kommentar von Findo1 ,

Ih hör auf , mir Fertig kram :D Ich möchte das alles alleine machen :D schau mal deine pn

Antwort
von maximilianus7, 89

falls du meinen kommentar überlesen hast:

also bei mir funktioniert der usort von Sawascwoolf einwandfrei. was meinst du mit nicht gleichmässig?

gibts einen neuen code zum anschauen?

Antwort
von maximilianus7, 91

... also nach was soll denn sortiert werden?

Kommentar von Findo1 ,

steht in der Frage. Das bild was ich zuletzt hochgeladen habe soll oben sein. Sprich , das neuste immer ganz oben , und das älteste , zuerst hochgeladene ganz unten

Keine passende Antwort gefunden?

Fragen Sie die Community