2010-08-11 2 views
0

Я использую сеансы для отслеживания пользовательских данных. У меня есть много страниц, которые обращаются к одному и тому же набору изображений. Есть ли способ предварительно загрузить изображения в сеанс, чтобы они загружались для остальной части сеанса?Предварительная загрузка изображений в сеансе PHP

-Mike

+2

eh? .. Как только браузер пользователей загружает изображение один раз, он кэшируется для всех последующих вызовов. – Fosco

+0

@Fosco, не обязательно верно. См. Мой комментарий на ответе @ Мэтта ниже. –

ответ

0

Когда начинается ваш сценарий, вы можете выполнить следующую команду:

if (!isset($_SESSION['images'])) 
{ 
    $_SESSION['images'] = get_my_images(); 
} 

Затем используйте $_SESSION['images'] всякий раз, когда вам нужно для доступа к набору изображений.

+0

Пожалуйста, объясните отрицательный рейтинг ... как еще вы сохранили бы список изображений в сеансе? –

0

Почему вы хотите сохранить изображение в сеансе?

Вы можете обслуживать ресурсы, такие как изображения с помощью lighttpd или через CDN.

если вы говорите о возвращении ссылки на изображения, вы можете кэшировать связи с Memcached и т.д.

1

Браузеры автоматически сохранять копии изображений, как только они были загружены в первый раз, так что они не должны быть загружены еще раз.

+0

Это не обязательно так. Вы должны убедиться, что заголовки ваших изображений имеют правильный набор кеша, иначе браузер не будет кэшировать их. Вы можете использовать Firebug или инспектор в Chrome для проверки заголовков HTTP. –

0

На первой странице после установления Логин/сеанса, просто загрузить все изображения в скрытом DIV, в этот момент браузер будет заботиться о них кэширование для вас:

<div style="display: none"> 
    <img src="img1.jpg" /> 
    <img src="img2.jpg" /> 
    ... 
</div> 

Там будет попал на сервер для загрузки первой страницы, но после ничто в течение всего кеша браузера, или, самое большее, запрос типа «304» check-if-newer.