SommaireTelecharger la documentationChapitre suivantChapitre precedent  

 
Raccourci :  
Entrées/sorties

flush
ob_start
ob_gzhandler
ob_get_contents
ob_get_length
ob_end_flush
ob_end_clean
ob_implicit_flush
Raccourci :  
Entrées/sorties

flush
ob_start
ob_gzhandler
ob_get_contents
ob_get_length
ob_end_flush
ob_end_clean
ob_implicit_flush

8.19.1 flush
[Notes en ligne] [Exemples]

Vide les buffers de sortie

void flush (void)
flush() vide les buffers de sortie de PHP et tous ceux que PHP utilisait (CGI, un serveur web, etc.).

Note : flush() n'a aucun effet sur la bufferisation de votre serveur web ou du navigateur.
De nombreux serveurs, essentiellement sous Windows, continueront à bufferiser l'affichage de votre script jusqu'à ce qu'il soit terminé, avant de transmettre les résultats à l'internaute.
Même le navigateur peut mettre des informations en cache avant de les afficher. Par exemple, Netscape écrit les textes dand un cache, jusqu'à ce qu'il ait reçu une fin de ligne, ou une balise ouvrante. Il n'affichera pas les tables avant d'avoir reçu la balise fermante </table>.
@node function.ob-start , function.flush, function.ob-gzhandler, Top

8.19.2 ob_start
[Notes en ligne] 

Enclenche la bufferisation de sortie

void @xref{function.ob-start,,ob_start} (string output_callback )
@xref{function.ob-start,,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. @xref{function.ob-start,,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 @xref{function.ob-start,,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