Ankündigung

Einklappen
Keine Ankündigung bisher.

foreach Dateiausgabe

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • foreach Dateiausgabe

    Irgendwie seh ich den Wald vor lauter Bäumen nicht, ich hab in einem Ordner verschiedene Grafiken/Bilder und ordne diese einem Datensatz zu.
    Leider funktioniert die folgende Schleife nur von 1-9... die Bilder mit der Zahl >=10 werden nicht aufgelistet. Kann mir das jemand erklären?

    PHP-Code:
    $alledateien scandir('img'); //Ordner "files" auslesen
    $filecounter=1;
    foreach (
    $alledateien as $datei_ist) { // Ausgabeschleife
        
    $datei_soll $_GET['id']."_".$filecounter.".jpg";
        if (
    $datei_ist == $datei_soll) {
            echo 
    "<img border="0" src="img/".$datei_ist.""><br />";
            
    $filecounter++;
        }
    }; 

  • #2
    Dann passt wohl das Namensschema der Dateien nicht mehr. Aber da wir deine Dateien nicht kennen ...

    Kommentar


    • #3
      Hab es gelöst bekommen. Hab alle Zahlen mit führender Null versehen und den Counter entsprechend umgebaut.

      PHP-Code:
      $alledateien scandir('map/img'); //Ordner "files" auslesen
      $filecounter=1;
      foreach (
      $alledateien as $datei_ist) { // Ausgabeschleife
          
      $datei_soll $_GET['id']."_".str_pad($filecounter3"0"STR_PAD_LEFT).".jpg";
          if (
      $datei_ist == $datei_soll) {
              echo 
      "<p><img border="0" src="map/img/".$datei_ist."">";
              
      $filecounter++;
          }
      }; 

      Kommentar


      • #4
        Das geht mit sprintf() noch einfacher.

        Kommentar


        • #5
          Zitat von Dormilich Beitrag anzeigen
          Dann passt wohl das Namensschema der Dateien nicht mehr. Aber da wir deine Dateien nicht kennen ...
          Die Dateien waren 1_1.jpg, ...1_9.jpg
          Nun sind sie 1_001.jpg ... 1_011Ppg

          Mit
          str_pad($filecounter, 3, "0", STR_PAD_LEFT)
          funktioniert der Counter dann auch wieder wie gewollt.

          Kommentar


          • #6
            Wie gesagt, statt str_pad() kannst du auch sprintf() nehmen, das macht das formatieren übersichtlicher (finde ich).

            Kommentar

            Lädt...
            X