Ver Mensaje Individual
  #2 (permalink)  
Antiguo 15/11/2007, 16:00
Lanselot
 
Fecha de Ingreso: noviembre-2007
Mensajes: 157
Antigüedad: 16 años, 6 meses
Puntos: 3
Re: como hago un cache en php para una pagina sola?

Coloca este código al inicio del documento, muy importante. Antes que cualquier otro carácter.

Código PHP:
<?php
function crea_cache($contenido) {
    
$fichero = @fopen(__FILE__.md5($_SERVER['QUERY_STRING']),'w');
    if (!
$fichero or !@flock($fichero,2) or !@fwrite($fichero,$contenido))
        return 
'<!-- Error al crear la cache -->'.$contenido;
    
fclose($fichero);
    return 
$contenido;
}
function 
muestra_cache() {
    
$contenido = @file_get_contents(__FILE__.md5($_SERVER['QUERY_STRING']));
    if (!
$contenido) return;
    echo 
$contenido;
    die();
}
if (
time() - @filemtime(__FILE__.md5($_SERVER['QUERY_STRING'])) > 3600)
   
ob_start('crea_cache');
else
    
muestra_cache();
?>
Puedes incluirlo en más páginas si deseas. Lo renueva cada hora.

Última edición por Lanselot; 16/11/2007 a las 00:31 Razón: Mejorado