Foros del Web » Programando para Internet » PHP »

Es posible hacer que PHP inprima el contenido por partes?

Estas en el tema de Es posible hacer que PHP inprima el contenido por partes? en el foro de PHP en Foros del Web. Holasssss.. Es posible que PHP muestre informacion por partes, es decir.. que primero se imprima el encabezado y se muestre, y luego va cargando el ...
  #1 (permalink)  
Antiguo 16/08/2005, 20:25
Avatar de richardinj  
Fecha de Ingreso: enero-2005
Ubicación: Ciber Espacio
Mensajes: 2.180
Antigüedad: 12 años, 10 meses
Puntos: 11
Desacuerdo Es posible hacer que PHP inprima el contenido por partes?

Holasssss..

Es posible que PHP muestre informacion por partes, es decir.. que primero se imprima el encabezado y se muestre, y luego va cargando el resto del contenido...


algo asi vi en el Nuke.. que primero me mostraba en encabezado y leugo el resto de la informacion....


  #2 (permalink)  
Antiguo 16/08/2005, 20:56
Avatar de SiR.CARAJ0DIDA  
Fecha de Ingreso: junio-2004
Ubicación: Acá
Mensajes: 1.166
Antigüedad: 13 años, 5 meses
Puntos: 4
creo q eso se puede hacer con el control de buffer de salida

busca estas funciones:
ob_start();
ob_end_flush();
  #3 (permalink)  
Antiguo 16/08/2005, 21:35
Avatar de richardinj  
Fecha de Ingreso: enero-2005
Ubicación: Ciber Espacio
Mensajes: 2.180
Antigüedad: 12 años, 10 meses
Puntos: 11
No me sale .. eso puse.. pero donde pongo el ob_end_fluhs.. siempre al final o donde quiero que ya se muestre?
  #4 (permalink)  
Antiguo 17/08/2005, 07:13
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Revisa el manual oficial sobre esas funciones ..

Realmente lo que necesitarías es controlar el buffer de salida de PHP .. es decir con esas y otras funciones "forzar" al envio de lo que tenga creado en el buffer de salida PHP en tal instante .. por ejemplo al terminar de "renderizar" tu cabecera.

Podrías ser:
Código PHP:
<html>
<header>
</header>
<body>
<table .... de tu cabecera ...>
</table>
<? flush(); // forzar la entrega del buffer de salida en este punto ?>

resto de tu página ... y o proceso PHP que origine salida ..
</body>
Esto es probable que no funcione como esperas .. pues, no todo navegador interpreta el "HTML" recibido hasta que se reciben los tag´s de cierre de instrucciones HTML como por ejemplo ese cierre de </body> y </html> que para el momento que desearias usar "flush()" no las tienes todavía. En otros casos algunos navegadores no empiezan a representar (ejecutar) su página recibida (con HTML/javascript .. etc) hasta que reciben cierta cantidad de bytes .. así que podría resultar que tu cabecera fuese menor (en bytes) lo enviado en ese punto y no se ejecute lo que lleve recibido hasta ese momento.

Por otro lado si crees haber visto ese efecto en X aplicación lo mejor a vece es -ver su código- y observar como trabaja.

Un saludo,
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:01.