SommaireTelecharger la documentationChapitre suivantChapitre precedent  

  .: News :.: Edito :.: Scripts :.: Forum :.: Erreurs :.: Jobs :. 
 
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.0

Description

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.


Chapitre précédentChapitre suivantAccueil nexen.net