Sommaire
Entrées/sorties
flush
ob_start
ob_gzhandler
ob_get_contents
ob_get_length
ob_end_flush
ob_end_clean
ob_implicit_flush
|
6.72.2 ob_start[ Exemples avec ob_start ] PHP 4 >= 4.0.0Description
void ob_start([string
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 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.
|