Meowsalot: PHP - scandir

Hallo,

für ein kleines Projekt steht leider keine Datenbank zur Verfügung deshalb lese ich die Bilder über scandir dir.

Jetzt möchte ich auf der Startseite nur 10 Bilder angezeigt bekommen und nicht alle. So wie ich es hier http://php.net/manual/de/function.scandir.php sehe kennt scandir kein Limit?

Bis bald!
Meowsalot (Bernd)

  1. Tach!

    für ein kleines Projekt steht leider keine Datenbank zur Verfügung deshalb lese ich die Bilder über scandir dir.

    Jetzt möchte ich auf der Startseite nur 10 Bilder angezeigt bekommen und nicht alle. So wie ich es hier http://php.net/manual/de/function.scandir.php sehe kennt scandir kein Limit?

    Geheime Parameter, die nicht im Handbuch stehen, würde ich bei PHP nicht erwarten. Wenn deine eigentliche Frage ist, wie du das limitieren kannst, nun, die Funktion gibt ein Array zurück. Man kann darauf also Dinge wie Array-Funktionen anwenden, in deinem Fall wohl eine, die einen Teil aus dem Array herausschneidet. Du kannst aber auch mit einer for-Schleife von 1 bis 10, oder einer foreach-Schleife mit selbst geführten Zähler plus break durchlaufen und so die Ausgabe begrenzen. Beachte, dass beim for weniger als 10 Elemente im Array sein können. Ich bevorzuge an der Stelle die ausschneidende Array-Funktion (irgendwas mit slice/splice im Namen). Damit wird die Intention am ehesten und mit wenig Aufwand deutlich.

    dedlfix.

    1. Hallo dedlfix,

      danke für deine Erklärung ich habe es jetzt so gelöst

      $ordner = "bilder/socialMediaEvent";
      $alledateien = scandir($ordner);  
      arsort($alledateien);         
      $alledateien = array_slice($alledateien, 2, 2);
      

      Bis bald!
      Meowsalot (Bernd)

      1. Hallo Meowsalot,

        als Anregung, wenn du nun öfter mal Dateien auslesen möchtest, mal einen Blick auf glob werfen.

        Gruss
        Henry