Ver Mensaje Individual
  #10 (permalink)  
Antiguo 14/04/2006, 01:29
Avatar de uamistad
uamistad
 
Fecha de Ingreso: diciembre-2004
Ubicación: Cd. de México
Mensajes: 1.395
Antigüedad: 19 años, 4 meses
Puntos: 1
Regreso compa !

Estoy mega feliz, ese filemtime() vino a resolver mi vida, con decirte que de tan contento no he podido (querido) dormir haciendo experimentos.

Ahora a cada uno de mis archivos le puse la función:

cacheando("index.php"); (ese index.php es un ejemplo) y se lo pongo a todos mis archivos PHP al iniciar el código.

Y la función la construí así:

Código PHP:
//
function cacheando($archivo){
             
$ultima_modificacion "";
             if(
file_exists($archivo)){

                  
//lo convierto a GMT (Mexico City)
                  
$timestamp_modif filemtime($archivo)+6*60*60;

                  
//lo ponemos en un string
                  
$ultima_modificacion date("D, d M Y H:i:s",$timestamp_modif)." GMT";
                 }
//end file_exists

             //si el archivo no existe, mensaje de error
             
else mensaje_final('badcache2');
             
            
//si cabecera contiene una fecha y es igualita a la proporcionada
            
if($ultima_modificacion == $_SERVER['HTTP_IF_MODIFIED_SINCE']){
                 
//header("Location: http://www.google.com");
                 //exit;
                 
header("HTTP/1.1 304 Not changed");
                 exit;
                }
//end if

             
header("Cache-Control: max-age=0, must-revalidate");
             
header("Pragma: no cache");
             
header("Last-Modified: $ultima_modificacion");
}
//end function 
Esos renglones:

//header("Location: http://www.google.com");
//exit;

Los descomento para saber que efectivamente funciona. Si carga una página y al darle click en actualizar me redirecciona a Google, es que funciona.

Thanks compa !
__________________
"Di no al Internet Explorer" -Proverbio Chino-

Última edición por uamistad; 18/04/2006 a las 02:07