Aller au contenu

Fonction PHP ob_flush() : Tout ce que vous devez savoir

En tant que développeur PHP, vous devrez peut-être vider le tampon de sortie pour envoyer des données au client immédiatement, plutôt que d'attendre que le tampon se remplisse. La fonction ob_flush() est une fonction PHP intégrée qui vide le tampon de sortie actuel. Dans cet article, nous examinerons en profondeur la fonction ob_flush() et son utilisation.

Qu'est-ce que la fonction ob_flush() ?

La fonction ob_flush() est une fonction PHP intégrée qui vide le tampon de sortie actuel vers le tampon suivant dans la chaîne. Notez que la mise en mémoire tampon de sortie doit d'abord être activée à l'aide de ob_start(). De plus, ob_flush() ne fait que vider le tampon PHP ; pour réellement envoyer les données au client, vous devez également appeler la fonction flush().

Comment utiliser la fonction ob_flush()

L'utilisation de la fonction ob_flush() est simple. Voici la syntaxe de la fonction :

La syntaxe PHP de la fonction ob_flush()

php
ob_flush();

Voici un exemple d'utilisation de la fonction ob_flush() pour vider le tampon de sortie et envoyer des données au client :

Comment utiliser la fonction ob_flush() ?

php
<?php

ob_start(); // Activer la mise en mémoire tampon de sortie
echo "Ceci sera mis en mémoire tampon";
ob_flush(); // Vider le tampon PHP vers le tampon suivant
flush();    // Envoyer les données au client

Dans cet exemple, nous activons la mise en mémoire tampon de sortie avec ob_start(), affichons un message à l'aide de echo, puis utilisons ob_flush() suivi de flush() pour envoyer le message au client immédiatement.

Remarque : La mise en mémoire tampon côté serveur (par exemple, dans Apache ou Nginx) peut toujours retarder la livraison. Pour garantir une livraison immédiate, vous devrez peut-être ajuster la configuration du serveur ou utiliser ob_implicit_flush(true). Pour une gestion complète du cycle de vie du tampon, vous pouvez également utiliser ob_end_flush() ou ob_get_clean() lorsque vous n'avez plus besoin de la mise en mémoire tampon.

Conclusion

La fonction ob_flush() est un outil utile pour gérer les tampons de sortie dans votre application web PHP. En comprenant qu'elle fonctionne conjointement avec ob_start() et flush(), vous pouvez envoyer efficacement des données au client immédiatement, plutôt que d'attendre que le tampon se remplisse. Nous espérons que cet article vous a été informatif et utile pour comprendre la fonction ob_flush() en PHP.

Pratique

Que fait la fonction ob_flush() en PHP ?

Trouvez-vous cela utile?

Aperçu dual-run — comparez avec les routes Symfony en production.