Acá les dejo un ejemplo de código en PHP para hacerlo. El funcionamiento es sencillo:
- Se incluye el primero de los archivos (cache.start.php) encargado de verificar si existe el chache de la página a la que se ingresa y si sigue siendo válido. En ese caso mostrará el contenido "chacheado".
- Se genera el contenido HTML correspondiente sin importar las funciones de "cacheo".
- Se incluye el archivo final (cache.end.php) encargado de generar el cache de la página que servira para los sucesivos ingresos.
[*] "cache.start.php":
// Settings
$cachedir = 'cache/'; // directorio de cache
$cachetime = 86400; // duración del cache
$cacheext = 'cache'; // extensión de cache
// script a procesar
$cachepage = $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
$cachefile = $cachedir.md5($cachepage).'.'.$cacheext;
// calculamos el tiempo del cache
if (@file_exists($cachefile)) {
$cachelast = @filemtime($cachefile);
} else {
$cachelast = 0;
}
@clearstatcache();
// Mostramos el archivo si aun no vence
if (time() - $cachetime <$cachelast) {
@readfile($cachefile);
exit();
}
ob_start();
[*] "cache.end.php":
// Generamos el nuevo archivo cache $fp = @fopen($cachefile, 'w'); // guardamos el contenido del buffer @fwrite($fp, ob_get_contents()); @fclose($fp); ob_end_flush();[*] Implmentación:
include("cache.start.php");
// Aqui el código HTML
include("cache.end.php");
Saludos y que lo disfruten!
0 comentarios:
Publicar un comentario