php - разрешить кэширование на странице, но убедитесь, что изображения не - PullRequest
0 голосов
/ 31 января 2012

Я создаю сетевой веб-сайт, который позволяет пользователям загружать изображения.

Когда один пользователь (user1) просматривает страницу профиля другого пользователя (user2), часто кешированные изображения отображаются вместо новых изображений, которые user2 недавно получилзагружено.

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

Мой вопрос, таким образом:

Используя PHP, JavaScript, HTML или встроенные теги CSS, есть ли способ предотвратить кэширование отдельных изображений?Или чтобы они загружались свежо при каждом просмотре страницы?

Ответы [ 2 ]

3 голосов
/ 31 января 2012

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

С помощью ярлыка можно получить на странице PHP случайное число или временную метку в конце URL-адреса изображения:

<img src="yourimage.jpg?<?php echo time(); ?>" />

Используйте ваш движок шаблонов или что-то еще, чтобы отделить PHP от изображения, где это возможно.

Третий вариант - использовать PHP-скрипт для возврата изображения и установить там заголовки.

0 голосов
/ 31 января 2012

Попробуйте это:

<img src="image.jpg?<?php echo time(); ?>" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...