изображение изменилось, но в браузере выглядит так же - PullRequest
2 голосов
/ 09 ноября 2009

Я пишу PHP-скрипт для обрезки изображения. Сценарий заменяет «старое» изображение на «новое», но когда я перезагружаю страницу (которая должна поднять новое изображение), я все равно вижу старое.

Если я проверяю свой жесткий диск (я работаю на локальной машине), я вижу, что изображение изменилось, но HTML-код его не улавливает. Может быть, это проблема кеширования? Как я могу решить это?

спасибо, Patrick

Ответы [ 5 ]

5 голосов
/ 09 ноября 2009

Обычный метод обеспечения того, чтобы изображения никогда не кэшировались, заключается в добавлении текущего времени в миллисекундах к концу URL-адреса изображения в качестве параметра. Ваш веб-сервер будет игнорировать этот параметр и каждый раз отображать одно и то же изображение, но ваш браузер (и любой промежуточный кеш) будет регистрировать пропуск кеша, поскольку URL-адрес изображения отличается.

<a href='/images/someimage.png?d= <?php echo(date("U")); ?> '>
2 голосов
/ 09 ноября 2009

Если вы уверены, что ваш HTML указывает на правильный файл; Ctrl + F5

1 голос
/ 09 ноября 2009

Попробуйте добавить метку времени в URL. Это мешает большинству браузеров кэшировать изображения. Пример: http://localhost/test.jpg?1257783872

Редактировать: О, Райан уже дал аналогичный ответ. К сожалению.

0 голосов
/ 09 ноября 2009

Возможно, ваш провайдер использует прокси-сервер для кэширования. Проверьте URL с помощью BrowserShots , чтобы увидеть, действительно ли это так. Мой резервный DSL принадлежит провайдеру, который делает это для экономии полосы пропускания, что очень раздражает. Они также игнорируют каждый заголовок, говорящий им НЕ делать этого.

0 голосов
/ 09 ноября 2009

Отправляете ли вы соответствующие заголовки, чтобы браузер не кэшировал изображение?

Например: http://www.badpenguin.org/php-howto-control-page-caching

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