7.76 Bufferisation de sortie
7 Index des fonctions
Manuel PHP
. Introduction . Pré-requis . Installation . Configuration à l'exécution . Types de ressources . Constantes prédefinies . Exemples . Voir aussi . flush . ob_clean . ob_end_clean . ob_end_flush . ob_flush . ob_get_clean . ob_get_contents . ob_get_length . ob_get_level . ob_get_status . ob_gzhandler . ob_implicit_flush ->ob_start
|
7.76.21 ob_start()Enclenche la bufferisation de sortie[ Exemples avec ob_start ] PHP 4
bool
ob_start (
callback
output_callback
)
ob_start
démarre la bufferisation 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 buffer.
Le contenu de ce buffer peut être copié dans une chaîne
avec la fonction
ob_get_contents
. Pour afficher le
contenu de ce buffer, utilisez
ob_end_flush
. Au
contraire,
ob_end_clean
effacera le contenu de ce buffer.
Une fonction optionnelle de callback peut être spécifiée
en troisième argument.
ob_start
prend une
chaîne comme paramètre, et retourne une chaîne.
Elle sera appelée par
ob_end_flush
ou
lorsque le buffer sera envoyé au navigateur à la fin du script et
recevra le contenu du buffer de sortie. Lorsque la fonction
output_callback
est appelée,
elle doit retourner un nouveau contenu pour le buffer de sortie :
celui-ci sera envoyé au navigateur.
Note |
En PHP 4.0.4,
ob_gzhandler
a été
introduit pour faciliter l'envoi de fichier compressé
avec gz 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.
|
Les buffers 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 callback
sont actives, les contenus seront filtrés
séquentiellement, dans l'ordre d'emboîtement.
Exemple de gestion de sortie avec fonction utilisateur |
<?php function callback($buffer) { // remplace toutes les pommes par des carottes return (ereg_replace("pommes de terre", "carottes", $buffer)); } ob_start("callback"); ?> <html> <body> <p>C'est comme comparer des carottes et des pommes de terre. </body> </html> <?php ob_end_flush(); ?>
|
Voir aussi
ob_get_contents
,
ob_end_flush
,
ob_end_clean
,
ob_implicit_flush
et
ob_gzhandler
.
|