3 Stimmen

php glob() liefert nicht alle Dateien

Ich habe diese Website durchsucht und einen sehr nützlichen Codeschnipsel gefunden, den ich verwenden konnte.

  $counter = 0; 
     foreach (glob("images/gallery/photo_gallery/resized/*.jpg") as $pathToThumb)
    {
        $filename = basename($pathToThumb);
        $pathToLarge = 'images/gallery/photo_gallery/' . $filename;
        echo ('<a href="'.$pathToLarge.'"><img src="'.$pathToThumb.'" /></a>');
        $counter++;
    }

Aber aus irgendeinem Grund werden nur die ersten 30 Bilder in meinem Verzeichnis angezeigt. (es gibt 81) Kann sich jemand vorstellen, warum das passiert?

Danke.

1voto

shane Punkte 110

Vielen Dank an alle für ihre Beiträge.

Hier ist die Antwort - Dateierweiterungen sind CASE-SENSITIVE, wenn sie in glob() verwendet werden (etwas, dessen ich mir nicht bewusst war)

30 meiner Dateien enden auf .jpg, während die restlichen Dateien durch ein Programm zur Größenänderung automatisch in .JPG umbenannt wurden.

Dies bedeutet also glob("imagesPath/*.jpg") nur die Treffer in Kleinbuchstaben zurück.

Eine weitere Lektion, die wir gelernt haben :)

Hoffentlich kann diese Antwort auch jemand anderem helfen :)

1voto

Your Common Sense Punkte 154708

Wie ich bereits gesagt habe

$path = 'images/gallery/photo_gallery/resized/*';

wäre genug. oder, wenn Sie stur nur jpg nur will,

$path = 'images/gallery/photo_gallery/resized/*.[Jj][Pg][Gg]';

wie im Handbuch beschrieben

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X