diff --git a/reference/outcontrol/functions/ob-start.xml b/reference/outcontrol/functions/ob-start.xml index af233bfae6..eeaf1db7ef 100644 --- a/reference/outcontrol/functions/ob-start.xml +++ b/reference/outcontrol/functions/ob-start.xml @@ -1,6 +1,6 @@ - + @@ -17,36 +17,23 @@ intflagsPHP_OUTPUT_HANDLER_STDFLAGS - ob_start démarre la temporisation de sortie. - Tant qu'elle est enclenchée, aucune donnée, hormis les en-têtes, - n'est envoyée au navigateur, mais temporairement mise en tampon. + 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. + Consultez + pour savoir exactement quelles sorties sont concernées. - Le contenu de ce tampon peut être copié dans une chaîne - avec la fonction ob_get_contents. Pour afficher le - contenu de ce tampon, utilisez ob_end_flush. Au - contraire, ob_end_clean effacera le contenu de ce - tampon. + 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. + Consultez pour plus de détails. - - - Quelques serveurs web (par exemple Apache) modifient le dossier de - travail d'un script lorsqu'il appelle une fonction de rappel. - Vous pouvez revenir à un comportement normal en ajoutant - chdir(dirname($_SERVER['SCRIPT_FILENAME'])) - dans votre fonction de rappel. - - - Les tampons de sortie sont gérés par pile, c'est-à-dire que vous pouvez - appeler plusieurs fois ob_start simultanément. - Assurez-vous que vous appelez ob_end_flush - suffisamment souvent. Si plusieurs fonctions de rappel sont actives, - les contenus seront filtrés séquentiellement, dans l'ordre d'emboîtement. - - - Si les tampons de sortie sont encore actif quand le script se termine, - PHP affiche le contenu automatiquement. + Consultez + pour une description détaillée des tampons de sortie. @@ -58,18 +45,16 @@ callback - Une fonction optionnelle de rappel peut être spécifiée. - Cette fonction prend une chaîne comme paramètre, et - retourne une chaîne. Elle sera appelée lorsque le tampon sera envoyé - ou supprimé (avec les fonctions ob_flush, - ob_clean ou des fonctions similaires) - ou lorsque le tampon sera envoyé - au navigateur à la fin du script et recevra le contenu du tampon de - sortie. Lorsque la fonction callback est - appelée, elle doit retourner un nouveau contenu pour le tampon de sortie : - celui-ci sera envoyé au navigateur. Si callback - n'est pas une fonction accessible, la fonction retournera &false;. - Voici la signature de la fonction de rappel : + 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 : @@ -90,44 +75,38 @@ phase - Masque de bits de constantes - PHP_OUTPUT_HANDLER_*. + Masque de bits des constantes + + PHP_OUTPUT_HANDLER_* + . + Consultez + pour plus de détails. - Si callback retourne &false;, - l'entrée originale est envoyée au navigateur. + Si callback renvoie &false;, + le contenu du tampon est renvoyé. + Consultez + pour plus de détails. + + + 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. + + - Le paramètre callback peut être annulé - en y passant la valeur &null;. + Consultez + et + pour plus de détails sur les callbacks (gestionnaires de sortie). - - ob_end_clean, ob_end_flush, - ob_clean, ob_flush et - ob_start ne doivent pas être appelés depuis une - fonction de rappel. Si vous les appelez depuis une fonction de - rappel, le comportement ne sera pas défini. Si vous voulez effacer - le contenu du tampon, retournez "" (une chaîne vide) depuis la fonction - de rappel. Vous ne pourrez jamais appeler les fonctions utilisant - la fonction de temporisation de sortie comme - print_r($expression, true) ou - highlight_file($filename, true) depuis une fonction de - rappel. - - - - La fonction ob_gzhandler a été - introduite pour faciliter l'envoi de fichiers compressés - avec gzip aux navigateurs web qui supportent les pages - compressées. ob_gzhandler - détermine le type d'encodage accepté par un navigateur, - et retourne le contenu le plus adéquat. - - @@ -136,9 +115,10 @@ Si le paramètre optionnel chunk_size est passé, la fonction de rappel est appelée à chaque nouvelle ligne après - chunk_size octets d'affichage. La valeur - par défaut 0 (zéro) signifie que l'affichage - de la fonction ne sera appelé que lorsque le buffer de sortie est clos. + chunk_size octets d'affichage. + 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. + Consultez pour plus de détails. @@ -149,11 +129,12 @@ 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 constantes - PHP_OUTPUT_HANDLER_CLEANABLE | - PHP_OUTPUT_HANDLER_FLUSHABLE | - PHP_OUTPUT_HANDLER_REMOVABLE, ou - PHP_OUTPUT_HANDLER_STDFLAGS comme alias. + et supprimé, ce qui peut être défini explicitement avec les + + indicateurs de contrôle de la mémoire tampon + . + Consultez + pour plus de détails. Chaque drapeau contrôle l'accès à un jeu de fonctions, tel décrit @@ -171,16 +152,12 @@ PHP_OUTPUT_HANDLER_CLEANABLE ob_clean, - ob_end_clean et - ob_get_clean. PHP_OUTPUT_HANDLER_FLUSHABLE ob_end_flush, - ob_flush et - ob_get_flush. @@ -188,6 +165,7 @@ ob_end_clean, ob_end_flush et + ob_get_clean. ob_get_flush.