У меня есть простой вид php, который выглядит так:
header('Content-Type: image/png'); readfile($this->image); exit();
В этом примере $this->image
является, например, /data/pictures/thumbs/x/xyz.png
.
В HTML-индексе я загружаю около 20 продуктов и отображаю их изображение продукта с помощью приведенного выше кода:
<img src="views/showimage.php?id=100"/>
Когда я загружаю страницу индекса с помощью продуктов, для загрузки каждого миниатюрного изображения продукта потребовалось короткое время. Если я подожду, пока загрузка не будет завершена, я могу нажать на кнопку друг друга на странице и загрузить загруженный контент. Если я не дождался загрузки страницы / изображений, я могу нажать на кнопку друг друга, и браузер запустится в таймаут. После этого я должен очистить свои файлы cookie и снова сделать это.
Я понял, что его можно загрузить страницу в 2 раза, даже если я не дам ему полной загрузки. При третьем загрузке и нажатии на навигацию до завершения загрузки страницы она переходит в тайм-аут …
Это не проблема с браузером!
У кого есть идея? Журнал PHP пуст.
После обсуждения мы нашли решение.
Корень проблемы заключался в избыточных данных в изображениях. Каждое изображение имеет размеры около 40×27 пикселей и размер более 1 Мб.
Добавление stripImage()
в часть, которая делает миниатюры лишенными избыточных данных (которые, как представляется, являются цветовым профилем) и уменьшает размер файла до нескольких килобайт.