load — php glob не возвращает все файлы

Я смотрел на подобные вопросы здесь и в Интернете, но ни одно из решений не помогло.

я использую glob вернуть 177 изображений из папки. Только некоторые возвращаются. Иногда ничего не возвращается. Каждый раз, когда я перезагружаю страницу, загружаются еще несколько изображений. В инспекторе все выглядит так, будто оно загружено; весь код такой, каким он должен быть. Но, глядя на страницу, я вижу, что, очевидно, отсутствуют изображения.

Вот мой код:

<?php

set_time_limit(0);
ignore_user_abort(1);

$images = glob("images/pics/*", GLOB_BRACE);
foreach ($images as $image) { ?>

<div class='img_container_2 backing_center' style='background: none'>
<img style='width: 400px' src = '<?php echo $image; ?>'/>
</div>
<?php

}

?>

Я думал, что это может быть проблема тайм-аута, но установка предела на 0, кажется, не имеет значения. Любая помощь очень ценится!

1

Решение

Вы указываете GLOB_BRACE в качестве второго аргумента для glob, чтобы он работал.

Так, например, если вы выполнили glob("{a,b,c}.php", GLOB_BRACE) в следующем списке файлов:

a.php

b.php

c.php

замещать GLOB_BRACE с GLOB_NOSORT (Возвращайте файлы по мере их появления в каталоге (без сортировки). Если этот флаг не используется, пути сортируются в алфавитном порядке)

Больше подробностей увидеть флаги мира

1

Другие решения

PHP glob() Функция отлично работает в вашем коде.

Существует проблема с вашим каталогом:

  1. Убедитесь, что ваша папка содержит только изображения
  2. Удалить Thumbs.db в вашем $images массив

Удалить Thumbs.db

$key = array_search('Thumbs.db', $images );
$new_images = unset($images[$key]);

Только для поиска изображений

$images = glob("images/pics/*.jpg", GLOB_BRACE);

Заметка : Если ваша папка содержит только изображения, вам не нужно использовать .jpg в glob функция.

1

Мой плохой, я сделал глупую вещь. Я установил ширину в абсолютное значение, когда она должна была быть установлена ​​в относительное значение. Я до сих пор не уверен, почему только некоторые изображения показывались, а некоторые нет, но по крайней мере это сейчас исправлено. В любом случае спасибо всем за помощь!

0
По вопросам рекламы [email protected]