Ver Mensaje Individual
  #7 (permalink)  
Antiguo 29/07/2003, 22:19
erama
 
Fecha de Ingreso: noviembre-2002
Mensajes: 190
Antigüedad: 21 años, 5 meses
Puntos: 0
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