Activa el temporizador de salida

# ob_start

(PHP 4, PHP 5, PHP 7, PHP 8)

ob_start — Activa el temporizador de salida

### Descripción

function ob_start(?callable `$callback` = `null`, int `$chunk_size` = 0, int `$flags` = `PHP_OUTPUT_HANDLER_STDFLAGS`): bool

Esta función activa el almacenamiento en búfer de la salida. Cuando el almacenamiento en búfer está activo, ninguna salida es enviada desde el script; en su lugar, la salida se almacena en un búfer interno. Consulte ¿Qué salida está bufferizada? para saber exactamente qué salidas están afectadas.

Los búferes de salida son apilables, es decir ob_start() puede ser llamada mientras otro búfer está activo. Si varios búferes de salida están activos, la salida es filtrada secuencialmente a través de cada uno de ellos en el orden de anidación. Consulte Anidamiento de búferes de salida para más detalles.

Consulte Búferes de salida a nivel de usuario para una descripción detallada de los búferes de salida.

### Parámetros

`callback`

  Un `callback` callable opcional puede ser especificado. También puede ser omitido pasando `null`.

  `callback` es invocado cuando el búfer de salida es vaciado (enviado), limpiado, o cuando el búfer de salida es vaciado al final del script.

  La firma del `callback` es la siguiente:

  function handler(string `$buffer`, int `$phase` = ?): string
  `buffer`
    Contenido del buffer de salida.
  `phase`
    Máscara de bits de las constantes `PHP_OUTPUT_HANDLER_*` . Consulte Flags pasados a los gestores de salida para más detalles.

  Si `callback` devuelve `false`, el contenido del búfer es enviado. Consulte Valores de retorno de los gestores de salida para más detalles.

  Advertencia

  Llamar a alguna de las siguientes funciones desde un manejador de salida provocará un error fatal: ob_clean(), ob_end_clean(), ob_end_flush(), ob_flush(), ob_get_clean(), ob_get_flush(), ob_start().

  Consulte Gestores de salida y Trabajar con los gestores de salida para más detalles sobre los `callback`s (manejadores de salida).

`chunk_size`

  Si el parámetro opcional `chunk_size` es pasado, la función de devolución de llamada es llamada cada nueva línea después de `chunk_size` bytes de salida. El valor por omisión `0` significa que toda la salida es almacenada en búfer hasta que el búfer sea desactivado. Consulte Tamaño del búfer para más detalles.

`flags`

  El parámetro `flags` es una máscara que controla las operaciones que pueden ser realizadas sobre el búfer de salida. Por omisión, permite que el búfer de salida sea limpiado, enviado y eliminado, lo cual puede ser definido explícitamente con los indicadores de control del búfer . Consulte Operaciones permitidas en los búferes para más detalles.

  Cada flag controla el acceso a un conjunto de funciones, tal como se describe a continuación:

  Constante | Funciones
  --- | ---
  `PHP_OUTPUT_HANDLER_CLEANABLE` | ob_clean(),
  `PHP_OUTPUT_HANDLER_FLUSHABLE` | ob_flush(),
  `PHP_OUTPUT_HANDLER_REMOVABLE` | ob_end_clean(), ob_end_flush() y ob_get_clean(). ob_get_flush().

  > Nota: Antes de PHP 8.4.0, el parámetro flags podía definir los flags de estado del manejador de salida también.

### Valores devueltos

Esta función retorna `true` en caso de éxito o `false` si ocurre un error.

### Ejemplos

Ejemplo #1 Ejemplo de manejo de salida con función de devolución de llamada

    <?php

    function handler($buffer)
    {
      // reemplaza todas las patatas por zanahorias
      return (str_replace("pommes de terre", "carottes", $buffer));
    }

    ob_start("handler");

    ?>
    <html>
    <body>
    <p>Es como comparar zanahorias y patatas.</p>
    </body>
    </html>
    <?php

    ob_end_flush();

    ?>

El ejemplo anterior mostrará:

    <html>
    <body>
    <p>Es como comparar zanahorias y zanahorias.</p>
    </body>
    </html>

Ejemplo #2 Crea un búfer de salida no eliminable

    <?php

    ob_start(null, 0, PHP_OUTPUT_HANDLER_STDFLAGS ^ PHP_OUTPUT_HANDLER_REMOVABLE);

    ?>

### Ver también

- ob_get_contents() - Devuelve el contenido del búfer de salida
- ob_end_clean() - Elimina (limpia) el contenido del búfer de salida activo y lo desactiva.
- ob_end_flush() - Vacía (envía) el valor de retorno del manejador de salida activo y desactiva el búfer de salida activo
- ob_implicit_flush() - Activa/desactiva el envío implícito
- ob_gzhandler() - Función de recuperación para la compresión automática de pastillas
- ob_iconv_handler() - Convierte la codificación de caracteres al manejador del buffer de salida
- mb_output_handler() - Función de tratamiento de los despliegues
- ob_tidyhandler() - Función callback de ob_start para reparar el buffer

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open