bueno josemi, probe un par de veces con el código de arriba
pero no lo pude hacer funcionar.
Pero tome la opción que me haz recomendado sobre usar el buffer y FUNCIONO!!! este es el código por su alguien lo necesita y si hay algo que se pueda mejorar me avisan:
buffer.php
Código PHP:
<?php
// tiempo tras el cual se "caducan" los fichero HTML
$tiempo = 30;
// directorio donde guardar los ficheros HTML o cachés
$dir = "/home/misitio/public_html/html";
function cache_abrir() {
global $tiempo,$dir;
// comprobar la existencia del fichero html y si aun es valido
if(file_exists($dir."/".$_GET['cid']."0.html") && time()-filemtime($dir."/".$_GET['cid']."0.html")<$tiempo)
{
// mostrar lo que hay en el html
include($dir."/".$_GET['cid']."0.html");
// terminar ejecución del script
exit();
}
// A partir de aquí no se devuelve nada, todo se escribe al buffer interno
ob_start();
}
function cache_guardar() {
global $html;
$dir = "/home/misitio/public_html/html";
// Obtiene el contenido del buffer
$html = ob_get_contents();
// Limpiar el buffer
ob_end_clean();
// abrir en modo escritura el fichero cache
$file = fopen($dir."/".$_GET['cid']."0.html","w+");
// escribir el contenido de $html en el fichero html
fwrite($file,$html);
// cerrar fichero
fclose($file);
}
?>
y ahora cuando necesitar generar en un html el resultado de algun codigo php hago esto:
Código PHP:
<?php
include("buffer.php");
// si la página html generada no expiró la imprime y cierra el script
cache_abrir();
// pero si ya expiró o aun no fue creeada ejecuta en codigo php
..... código php...
....más codigo...
..
.....etc etc etc..
// y después el recultado se lo manda a guardar...
cache_guardar();
//y aca lo imprime
echo $html;
?>
bueno eso es lo que hice y funciona bien para lo que yo necesito.
Igualmente me gustaría que alguien me diga que es lo que hice mal y que es lo que le falta al código que me paso "josemi" ya me estoy con ganas de hacerlo funcionar
para tener una alternativa más!
Listo espero que alguien me saque la duda con este código...
Saludos y gracias