php glob () не возвращает все файлы - PullRequest
3 голосов
/ 28 августа 2010

Я искал этот сайт и нашел очень полезный фрагмент кода, который мне удалось использовать.

  $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++;
    }

Но по какой-то причине это вернет только первые 30 изображений в моем каталоге. (их 81) Кто-нибудь может подумать, почему это происходит?

Спасибо.

Ответы [ 2 ]

1 голос
/ 28 августа 2010

Как я уже говорил выше

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

будет достаточно. или, если вы упорно хотите только только JPG,

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

как подсказывает руководство

1 голос
/ 28 августа 2010

Спасибо всем за вклад.

Вот ответ - расширения файлов CASE-SENSITIVE при использовании в glob () (что-то, о чем я не знал)

30 моих файлов заканчиваются на .jpg, тогда как остальные файлы были автоматически переименованы через программу изменения размера в .JPG

Таким образом, это означает, что glob("imagesPath/*.jpg") возвращает только совпадения в нижнем регистре.

Еще один урок:)

Надеюсь, этот ответ может помочь кому-то еще. :)

...