Tema: FAQ's de PHP
Ver Mensaje Individual
  #121 (permalink)  
Antiguo 22/09/2004, 07:22
Avatar de José Molina
José Molina
 
Fecha de Ingreso: enero-2002
Ubicación: USA
Mensajes: 768
Antigüedad: 22 años, 10 meses
Puntos: 1
De acuerdo Forzar al IE a mostrar las imagenes sin usar su cache

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
__________________
José Molina
La marginalidad no esta en la incapacidad de calmar el hambre de un estómago sino en la incapacidad de calmar el hambre de la mente.

Última edición por jam1138; 02/06/2008 a las 18:58