Las funciones de Control de Salida le permiten controlar cuándo
es enviada la salida desde el script. Esto puede resultar útil
en muchas situaciones diferentes, especialmente si necesita enviar
cabeceras al navegador después de que su script ha comenzado a
enviar datos. Las funciones de Control de Salida no afectan las
cabeceras enviadas usando header()
o setcookie(), sólo funciones
como echo() y los datos entre bloques de
código PHP.
Puede habilitar el uso de búferes de salida para todos los
archivos, definiendo esta directiva como 'On'. Si desea limitar el
tamaño del búfer a cierta cantidad - puede usar un
número máximo de bytes, en lugar de 'On', como valor
para esta directiva (p.ej., output_buffering=4096).
Puede redireccionar toda la salida de sus scripts a una
función. Por ejemplo, si establece el valor de output_handler
a mb_output_handler(), la codificación de
caracteres será convertida de forma transparente a la
codificación especificada. Al definir cualquier gestor de
salida, el control mediante búferes se activa
automáticamente.
FALSE por defecto. Cambiar este valor a TRUE le indica a PHP que
debe decirle a la capa de salida que se vacíe
automáticamente después de cada bloque de salida. Esto
es equivalente a llamar la función
de PHPflush() después de
todas y cada una de las llamadas a print()
o echo(), y cada bloque HTML.
Cuando use PHP bajo un entorno web, el habilitar
esta opción tiene unas implicaciones serias en el rendimiento,
y por lo general se recomienda su uso únicamente para
propósitos de depuración. Este valor es igual a TRUE
por defecto cuando se opera bajo la SAPI CLI.
En el anterior ejemplo, la salida de echo()
sería almacenada en el búfer de salida hasta
que ob_end_flush() sea llamada. Entre tanto, la
llamada a setcookie() almacena satisfactoriamente
una cookie sin causar un error. (Normalmente, usted no puede enviar
cabeceras al navegador después de que se han enviado datos.)
Nota:
Cuando se actualice desde PHP 4.1 (y 4.2) hacia 4.3, debe asegurarse
de que implict_flush tenga el
valor OFF en su php.ini debido a un fallo en
versiones antiguas, de otra forma, cualquier salida procesada
por ob_start() no será ocultada en la salida
final.