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();
- // Generamos el nuevo archivo cache
- $fp = @fopen($cachefile, 'w');
- // guardamos el contenido del buffer
- @fwrite($fp, ob_get_contents());
- @fclose($fp);
- ob_end_flush();
- include("cache.start.php");
- // Aqui el código HTML
- include("cache.end.php");
0 comentarios:
Publicar un comentario