Chachear Páginas con PHP

En nuestro Tip Definir Fecha de Expiración para Optimización de Sitios Web hablamos de lo útil que puede resultar el chacheo de páginas.

Acá les dejo un ejemplo de código en PHP para hacerlo. El funcionamiento es sencillo:

  1. 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".
  2. Se genera el contenido HTML correspondiente sin importar las funciones de "cacheo".
  3. 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!
Bookmark and Share

0 comentarios:

Publicar un comentario