Manuel PHP
Précédent
Suivant
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.
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 1.
Exemple de callback avec fonction utilisateur
?php function callback( $buffer) {/ / remplace toutes les pommes par des oranges 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();?
va afficher:
html body p C 'est comme comparer des carottes et des carottes. / body / html
Voir aussi ob_get_contents(), ob_end_flush(), ob_end_clean(), ob_implicit_flush() et ob_gzhandler().
Précédent
Sommaire
Suivant
Niveau supérieur
Overload