[ Foro de PHP ]

funcion ob_start()

03-Jul-2013 12:20
Invitado (ruben ruiz)
1 Respuestas

hola profesor.
estoy en el tema de cookies, sesiones y cabeceras(header), en este ultimo tema encontre una funcion que quisiera poder entenderla con tu explicacion por que la verdad poco entiendo acerca de ello en lo encontrado por la red, y seguramente con tu explicacion de profesor me sea mas facil entenderlo, se trata de: Output Buffering, que objetivo tiene tener encuenta este parametro o funcion( es que no se que es realmente)y es conveniente tener la linea( de php.ini):
output-buffering=on o en off? si y no por que?

y a que se refiere este ejemplo asociado con dicho tema: ?

<php
ob_start();
echo "Hello World!";
ob_end_flush();
?>

mil gracias profesor,por lo que puedas explicarme y disculpa por mis dudas o entendimiento estoy iniciandome con este lenguaje e intento aprovechar tu valiosa ayuda y disposicion.


04-Jul-2013 00:31
Nacho Cabanes (+32)

El "buffering" supone que no se envía la información de salida poco a poco, sino que toda ella se va almacenando hasta que en un cierto momento se vuelca toda de golpe. Ese momento es cuando el buffer está lleno o cuando tú pides que se vacíe (flush).

Es algo habitual en ficheros, y permite que las escrituras sean un poco más eficientes, y también las lecturas repetitivas. Pero en la salida estándar de PHP yo no lo he utilizado nunca, porque el uso más habitual de PHP es para crear páginas web interactivas, y en ese caso, es el propio navegador el que crea un "buffer al vuelo", y no muestra nada hasta que no ha podido confeccionar la página completa, así que no suele tener mucho sentido que tú te preocupes por añadir una capa de buffer previa.






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)