Enclenche la temporisation de sortie

# ob_start

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

ob_start — Enclenche la temporisation de sortie

### Description

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

Cette fonction active la mise en mémoire tampon de la sortie. Lorsque la mise en mémoire tampon est active, aucune sortie n'est envoyée depuis le script ; au lieu de cela, la sortie est stockée dans une mémoire tampon interne. Consulter Quelle sortie est bufferisée ? pour savoir exactement quelles sorties sont concernées.

Les tampons de sortie sont empilables, c'est-à-dire ob_start() peut être appelée pendant qu'un autre tampon est actif. Si plusieurs tampons de sortie sont actifs, la sortie est filtrée séquentiellement à travers chacun d'eux dans l'ordre d'emboîtement. Consulter Imbrication des tampons de sortie pour plus de détails.

Consulter Tampons de sortie au niveau utilisateur pour une description détaillée des tampons de sortie.

### Liste de paramètres

`callback`

  Un `callback` callable optionnel peut être spécifié. Il peut également être contourné en passant `null`.

  `callback` est invoqué lorsque le tampon de sortie est vidé (envoyé), nettoyé, ou lorsque le tampon de sortie est vidé à la fin du script.

  La signature du `callback` est la suivante :

  function handler(string `$buffer`, int `$phase` = ?): string
  `buffer`
    Contenu du buffer de sortie.
  `phase`
    Masque de bits des constantes `PHP_OUTPUT_HANDLER_*` . Consulter Drapeaux passés aux gestionnaires de sortie pour plus de détails.

  Si `callback` renvoie `false`, le contenu du tampon est renvoyé. Consulter Valeurs de retour des gestionnaires de sortie pour plus de détails.

  Avertissement

  Appeler l'une des fonctions suivantes à partir d'un gestionnaire de sortie entraînera une erreur fatale : ob_clean(), ob_end_clean(), ob_end_flush(), ob_flush(), ob_get_clean(), ob_get_flush(), ob_start().

  Consulter Gestionnaires de sortie et Travailler avec les gestionnaires de sortie pour plus de détails sur les `callback`s (gestionnaires de sortie).

`chunk_size`

  Si le paramètre optionnel `chunk_size` est passé, la mémoire tampon sera vidée après tout bloc de code résultant en une sortie qui fait que la longueur de la mémoire tampon égale ou dépasse `chunk_size`. La valeur par défaut `0` signifie que toute la sortie est mise en mémoire tampon jusqu'à ce que la mémoire tampon soit désactivée. Consulter Taille du tampon pour plus de détails.

`flags`

  Le paramètre `flags` est un masque qui contrôle les opérations qui peuvent être effectuées sur le tampon de sortie. Par défaut, il autorise le tampon de sortie à être nettoyé, envoyé et supprimé, ce qui peut être défini explicitement avec les indicateurs de contrôle de la mémoire tampon . Consulter Opérations autorisées sur les tampons pour plus de détails.

  Chaque drapeau contrôle l'accès à un jeu de fonctions, tel que décrit ci-dessous :

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

  > Note: Avant PHP 8.4.0, le paramètre flags pouvait définir les drapeaux d'état du gestionnaire de sortie également.

### Valeurs de retour

Cette fonction retourne `true` en cas de succès ou `false` si une erreur survient.

### Exemples

Exemple #1 Exemple de gestion de sortie avec fonction de rappel

    <?php

    function rappel($buffer)
    {
      // remplace toutes les pommes par des carottes
      return (str_replace("pommes de terre", "carottes", $buffer));
    }

    ob_start("rappel");

    ?>
    <html>
    <body>
    <p>C'est comme comparer des carottes et des pommes de terre.</p>
    </body>
    </html>
    <?php

    ob_end_flush();

    ?>

L'exemple ci-dessus va afficher :

    <html>
    <body>
    <p>C'est comme comparer des carottes et des carottes.</p>
    </body>
    </html>

Exemple #2 Crée un tampon de sortie ineffaçable

    <?php

    ob_start(null, 0, PHP_OUTPUT_HANDLER_STDFLAGS ^ PHP_OUTPUT_HANDLER_REMOVABLE);

    ?>

### Voir aussi

- ob_get_contents() - Retourne le contenu du tampon de sortie
- ob_end_clean() - Effacez (nettoyez) le contenu du tampon de sortie actif et désactivez-le.
- ob_end_flush() - Vide (envoie) la valeur de retour du gestionnaire de sortie actif et désactive le tampon de sortie actif
- ob_implicit_flush() - Active/désactive l'envoi implicite
- ob_gzhandler() - Fonction de rappel pour la compression automatique des tampons
- ob_iconv_handler() - Gestionnaire de sortie pour maîtriser le jeu de caractères de sortie
- mb_output_handler() - Fonction de traitement des affichages
- ob_tidyhandler() - Fonction de rappel ob_start pour réparer le buffer

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