Как обновить картинку

YuriyA

Новичок
Как обновить картинку

При замене картинки одной на другую путем аплоада с одним и тем же именем, в броузере видна старая картинка, поскольку она сидит в кэше. Обновляется только при нажати F5. Как обойти эту проблемку. Хочется чтобы пользователь при замене картинки сразу видел новую, без F5.
 

Bitterman

Новичок
Если я правильно понял проблему, то тебе просто нужно, чтобы для каждой новой картинки урл был уникальным. Так как сам урл постоянно менять нереально, то лучше всего добавлять к нему какой-нибудь параметр. Можно добавлять просто текущее время, но лучше использовать функцию filemtime.
 

HEm

Сетевой бобер
А как часто возникает подобная ситуация? что картинка меняется на другую
 

Alexandre

PHPПенсионер
Обновляется только при нажати F5. Как обойти эту проблемку. Хочется чтобы пользователь при замене картинки сразу видел новую, без F5.
сделай редирект на этуже страницу, т.е. нажми за пользователя F5.
 

Bitterman

Новичок
triumvirat
достаточно после имени изображения поставить
?<?=time()?>
и картинка всегда будет актуальная.
Угу, и каждый пользователь, каждый раз будет загружать ее заново.
 

Духовность™

Продвинутый новичок
Bitterman
Нет, тут речь идет о "замене картинки одной на другую". Вероятно, это что-то типа изменения профайла. Типо, изменил картинку, а имя картинки осталось старое. Вот она и берётся моментально из кэша.
 

Bitterman

Новичок
triumvirat
Нет, тут речь идет о "замене картинки одной на другую". Вероятно, это что-то типа изменения профайла. Типо, изменил картинку, а имя картинки осталось старое. Вот она и берётся моментально из кэша.
Я как раз об этом и говорю.
 

kvf77

Red Devil
triumvirat
ну у вас сервер выдает заголовки кэширования постоянные - сообщая клиенту что картинка не изменилась - вот он ее и не перекачивает
 

YuriyA

Новичок
Автор оригинала: triumvirat
Bitterman
Нет, тут речь идет о "замене картинки одной на другую". Вероятно, это что-то типа изменения профайла. Типо, изменил картинку, а имя картинки осталось старое. Вот она и берётся моментально из кэша.
Вы правы. Речь идет именно о замене фото в профайле. Получается так, пользователь меняет свое фото, а видит старое. Он начинает нервничать, и пытается снова загрузить фото. И так до бесконечности
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
YuriyA
Для владельца сделай как тебе сказали.
Но только для его картинки в профиле.

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

Духовность™

Продвинутый новичок
А никто не знает, почему так вообще происходит? Вот если я изменил картинку или таблицу стилей, почему сервер не подгружает измененный контент? Ведь есть же заголовки типа If-Modified-Since, которые сервер должен просматривать и сравнивать даты..?
 

Bitterman

Новичок
Не надо никаких time()!!!
Добавляешь все время для всех картинок filemtime и все работает как надо. Картинка кешируется как и положено, при обновлении показывается новая.
Mr_Max
Остальным, юзерам, думаю глубоко паралельно обновилась ли фотка у кого-то.
Мне кажется это далеко не параллельно тому, кто обновил себе фотку))) ИМХО, большинство пользователей делают это не для себя, а для других.
 

Bitterman

Новичок
triumvirat
Подумай в каких случаях при этом варианте будет меняться урл и, соответственно, картинка будет закачиваться снова. Тогда, думаю, станет понятно.
 
Сверху