OB_FLUSH |
Vider |
| PHP 4.2.0+ |
Syntaxe
Retour
| Valeur |
Description |
| false |
Cette valeur permet d'indiquer qu'une erreur s'est produit. |
| true |
Cette valeur permet d'indiquer que l'opération a été un succès. |
Description
Cette fonction permet de vider et d'envoyer la valeur de retour du gestionnaire de sortie actif.
Remarques
- ob_flush() vide le tampon de sortie actif sans le désactiver : Contrairement à ob_end_flush() vidant et
terminant le tampon, ob_flush() le vide seulement, ce qui permet de continuer à écrire dedans par la suite.
- Elle doit être utilisée avec ob_start() pour fonctionner correctement : Si aucun tampon n'a été démarré avec ob_start(), un appel à
ob_flush() provoquera une erreur ou n'aura aucun effet utile.
- La fonction est utile dans les scripts qui produisent du contenu progressif : Lorsqu'on veut envoyer du contenu au navigateur en plusieurs étapes,
ob_flush() permet de libérer le tampon courant à chaque étape avant d'appeler flush().
- Elle fait partie du système de gestion des tampons de sortie de PHP, souvent utilisé pour la compression ou la mise en cache : Par exemple, un
gestionnaire de sortie personnalisé peut être défini pour transformer, compresser ou journaliser la sortie avant envoi.
- ob_flush() n'envoie pas directement le contenu au client final sans flush() : Pour que le contenu vidé par
ob_flush() soit effectivement transmis au navigateur, il faut ensuite appeler flush().
- Elle est très utile pour améliorer la perception de la performance dans des pages Web dynamiques : En affichant immédiatement des parties de la page
(comme un chargement ou un message de progression), on évite à l'utilisateur d'attendre passivement une réponse complète.
- Son usage est souvent combiné avec la gestion manuelle de plusieurs niveaux de tampons : En PHP, on peut empiler plusieurs tampons de sortie.
ob_flush() agit uniquement sur le tampon actif (le plus récent).
- Le bon fonctionnement de ob_flush() peut dépendre de la configuration du serveur Web : Des paramètres comme output_buffering dans
php.ini, ou certains modules Apache comme mod_deflate, peuvent influencer l'envoi réel des données même après
l'appel à ob_flush().
Dernière mise à jour : Samedi, le 3 mai 2025