Problem mit PHP Arrays zur Anzeige von Karteikartenbildern

Digitale Akademie Foren Problem mit PHP Arrays zur Anzeige von Karteikartenbildern

  • Dieses Thema ist leer.
Ansicht von 1 Beitrag (von insgesamt 1)
  • Autor
    Beiträge
  • #290
    jwettla
    Administrator

    Ich habe hier ein Problem, bei dem ich etwas Unterstützung gebrauchen könnte. Es handelt sich um ein Projekt, dass mit den Ortsnamen in Verbindung steht. Einen Eindruck kann man sich unter der folgenden URL verschaffen:

    https://digitale-akademie.adw-goe.de/ortsnamen/images_lightbox.php

    Die Anzeige der Bilder funktioniert in einem zweistufigen Verfahren. Zuerst wird ein Array mit den Buchstaben A-Z (und zwei Sonderzeichen) erstellt und dann wird mit dem scandir-Befehl der jeweils angewählte Buchstabenordner eingelesen. Anschliessend werden in einem zweiten Menue die ersten beiden Buchstaben des Dateinamens mit den angeizeiten Namensanfängen der Dateien verglichen und dann unterhalb mit in einem Lightbox angezeigt. Es handelt sich dabei teilweise um sehr viele Bilder (bis zu 50.000 Bilder pro Buchstabe). Aufgrund des jeweils neu ausgeführten Vergleichs der Anfangsbuchstaben (substr_compare(„$Snippet“, „$Dateien“, 0, 2) == „0“) sowie der Tatsache, dass bei jedem Durchlauf eines post der scandir Befehl erneut ausgeführt wird, dauert es bei sehr vielen Bildern sehr lange, bis das Array eingelesen und der Vergleich durchgeführt wird. Das geht sicher besser und effizienter, als ich das bislang hinbekommen habe. Kann mir jemand helfen, wie es besser gehen könnte? Ideen waren bislang das Skript zur Abspeicherung der Dateien in Unterorndner (Aa, Ba etc.) zu nutzen, um so die Dateizahlen und damit die Zugriffszeiten geringer zu halten. Eigentlich bräuchte man aber doch nur das Ergebnis des Scandir Befehls und des substr_compare zwischenzuspeichern, da sich die Bilder nicht mehr ändern (also nicht immer wieder neu eingelesen werden müssen). Wie wäre das am geschicktesten möglich?

    Ausserdem habe ich noch folgendes Problem: Die Bilder werden von rechts nach links, also entgegen der Leserichtung angezeigt. Jede Reihe beginnt dabei erneut von Links. Ich habe das javascript des lightbox-scripts in Verdacht, aber habe keine Idee, wie man das ändern könnte.

    Die Idee sowie die Lightbox-Anzeige ist übrigens übernommen von:

    http://sevenx.de/blog/tutorial-einfach-mit-php-ordner-auslesen-und-dateien-und-bilder-anzeigen/

    Vielen Dank schon mal für alle Vorschläge!
    Jörg

    PS: andere Seiten, die ich mir auch angeschaut habe…

    https://www.revilodesign.de/blog/sonstiges/php-array-alphabetisch-sortieren-mit-ueberschriften/
    https://werner-zenk.de/scripte/verzeichnis_auslesen_und_verknuepfen.php

Ansicht von 1 Beitrag (von insgesamt 1)
  • Du musst angemeldet sein, um auf dieses Thema antworten zu können.