Esto es un sencillo código que sirve mucho para generar paginas estáticas de contenido dinámico, lo cual nos permite una carga mas rápida, y menor uso de los recursos del servidor y mucho mas aun cuando es un hosting compartido.
Bueno pues lo primero que tenemos que hacer es crear 2 archivos php: cache.start.php y cache.end.php, en este post te dejamos el codigo que deberias poner en cada archivo, algo importante tenemos que crear un folder donde se va guardar los archivos creados .cache para el ejemplo se considera $cachedir = 'cache/'; // folder se llama cache.
A continuación los códigos correspondientes y la implementación, "recuerda que la implementación tienes que hacerlo encada pagina independientemente que deseas hacer cache"
[*] "cache.start.php":
[code hl="1, 6, 10,19"]
// 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();
[/code]
[*] "cache.end.php":
[code hl="1, 4"]
// Generamos el nuevo archivo cache
$fp = @fopen($cachefile, 'w');
// guardamos el contenido del buffer
@fwrite($fp, ob_get_contents());
@fclose($fp);
ob_end_flush();
[/code]
[*] "Implementacion":
[code hl="2"]
include("cache.start.php");
// Aqui el código HTML
include("cache.end.php");
[/code]
