Ver Mensaje Individual
  #11 (permalink)  
Antiguo 01/09/2003, 21:41
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Matdor ..

Esas funciones gestionan el buffer de salida de PHP ... Osease. Con "PHP" al hacer un "echo" o cualquier otra función que mande una salida al cliente que lo ejecute (en la mayoría de casos será un navegador pero no en todos) .. PHP puede "guardarse" dichos "echo" para enviar todo el "HTML" generado (o la salida en general) al cliente (navegador por ejemplo) al terminar el script (al llegar a su fin .. o hacer algún exit; por ejemplo).

Por "defecto" PHP suele trabajar de esa forma (envia todo el resultado al final del proceso) .. Pero, con funciones como flush() puedes "forzar" a PHP que entrege todo lo que tenga en su buffer (memória intermédia) en cualquier momento. Ejemplo, en un bucle que hagas y tengas un echo por médio ... en lugar de esperar que acabe .. vas haciendo un flush() a cada pasada del bucle para que salga inmediatamente ese "echo" que estás imprimiendo en la salida ..

Las funciones mencionadas .. indican a PHP donde ha de empezar a almacenar la posible salida de PHP (echo's y demás) y cuando ha de entregarlo (darlo al navegador o lo que corresponda como cliente). Así mismo "por el camino" puedes ir recogiendo toda esa salída por ejemplo hacia una variable para usarlo en otras cosas ..

El hecho de decirle con esas funciones a PHP que empieze almacenar toda la salida .. Hace posible que un redireccionamiento tipo header() (o cabecera enviada al navegador en general .. como puede ser esta o cookies por ejemplo) se "almacene" temporalmente y hasta que hagamos el cierre del buffer (ob_end_flush() ) .. he de ahí que Todo se enviará de una sóla vez y no ocasinorán los problemas de "cabeceras ya enviadas" como pasa si se envia algo de HTML o lo que sea al navegador antes de una sentencia header() ..

Este proceso de almacenar temporalmente una salida (buffer) .. ocasionará mayor consumo de recursos del servidor .. Por ende sería recomendable usalo cuando realmente no hay otra forma en lugar de irse por la vía "fácil" en lugar (como es esté caso) .. reestructurar el código pensando que estamos programando en PHP y que PHP se ejecuta primero en el servidor y lo que resulte irá a parar al navegador para que este haga su parte con lo que se le envie (HTML, Javascript .. flash .. etc) interpretandolo.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.