Tema: Imágenes
Pregunta: Cómo hago para forzar al IE a que me recargue una imagen sin usar su cache.
Respuesta:
Cuando usamos en una página la carga de imágenes que siempre tienen el mismo nombre, el IE busca esa imagen en su cache.
Los metodos como:
Código PHP:
// Fecha en el pasado
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
// siempre modificado
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
// HTTP/1.1
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
// HTTP/1.0
header("Pragma: no-cache");
Solamente afectan a los archivos include, css, js, html, etc. Pero no a las imagenes (Referenciado por Cluster)
Entonces lo que hay que hacer es "engañar" al IE, haciendole creer que nuestra imagen es una página dinamica. (Referenciado por josemi)
Al mandar a imprimir la imagen en la etiqueta HTML le contatenamos un número aleatorio dentro de un query string:
Código PHP:
$Nombre_Foto = "foto.jpg"; //Nombre de la imagen a mostrar
$var = md5(time()); // Generamos el valor aleatorio
$Nombre_Foto = "foto.jpg?var=".$var; //Contatenamos la variable
Código HTML:
<img src="<?php echo $Nombre_Foto; ?>">
Suerte