PHP обновить изображение

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

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

Есть ли способ принудительно удалять или обновлять обновление или кеширование для этого конкретного изображения, а не всей страницы?

благодаря

Solutions Collecting From Web of "PHP обновить изображение"

Добавьте измененную дату в конец изображения в качестве запроса.

<img src="/images/photo.png?=1239293"/> 

В PHP

 <img src="/images/photo.png?=<?php echo filemtime($filename)?>"/> 

В PHP вы можете отправить случайное число или текущую временную метку:

 <img src="image.jpg?<?=Date('U')?>"> 

или

 <img src="image.jpg?<?=rand(1,32000)?>"> 

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

 <?php header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); header("Last-Modified: " . gmdate("D, d MYH:i:s") . " GMT"); header("Cache-Control: no-store, no-cache, must-revalidate"); header("Cache-Control: post-check=0, pre-check=0", false); header("Pragma: no-cache"); ?> 

В зависимости от того, как вы загружаете изображение, вы также можете обновить javascript изображения с помощью jQuery.

  You could replace the current image by a new one using JavaScript: <div id="imageHolder">this is where the image will show</div> <script type="text/javascript"> function myfunction(){ document.getElementById("imageHolder").innerHTML="<div id=\"imageHolder\"><img src='imagefolder/imagename.jpg' alt=''/></div>"; }</script> 

Вам нужно запустить функцию myfunction после завершения загрузки, конечно …

Это отлично подействовало на меня:

 image.jpg?=<?php echo rand() . "\n";?>