Dans le développement de PHP, ob_flush () et flush () sont deux fonctions couramment utilisées pour rincer le tampon de sortie. Par défaut, PHP stockera d'abord le contenu de sortie dans le tampon de mémoire, et le contenu ne sera pas envoyé au navigateur tant que l'exécution du script sera terminée ou rafraîchie manuellement.
La fonction d'Ob_flush () consiste à actualiser le tampon de sortie et à envoyer immédiatement le contenu du tampon au navigateur. Flush () peut également implémenter des fonctionnalités similaires, mais dans certains environnements de serveur, des opérations supplémentaires peuvent être nécessaires pour garantir que le rafraîchissement entre en vigueur.
ob_flush () est principalement responsable du rinçage du tampon de sortie de PHP et de l'envoi de tous les contenus du tampon, y compris les en-têtes HTTP et le contenu HTML, garantissant que le navigateur peut recevoir des données dès que possible.
La fonction Flush () enverra les données dans le tampon actuel au navigateur, mais il n'est pas responsable de la sortie des informations d'en-tête HTTP. Comparé à ob_flush (), Flush () exécute plus efficacement car il saute le traitement des en-têtes HTTP.
Habituellement, nous utilisons ob_flush () et flush () pour obtenir une sortie instantanée de contenu. Cependant, certains serveurs peuvent nécessiter ob_end_flush () pour fermer le tampon avant que Flush () puisse prendre effet.
L'exemple suivant montre comment utiliser ob_flush () et flush ():
<?php
// Activer le tampon
ob_start();
// Partie de sortie du contenu
echo "Hello";
// Actualisez immédiatement le tampon et envoyez au navigateur
ob_flush();
flush();
// Sortie du contenu restant
echo "World";
// Fermez le tampon
ob_end_flush();
?>
Dans le code, activez d'abord la tampon de sortie via ob_start (), sortit "bonjour", puis actualisez immédiatement en utilisant ob_flush () et flush (), puis sortez "world", et fermez enfin le tampon. Cela peut atteindre la sortie de bloc et améliorer l'expérience utilisateur.
Certains environnements de serveur peuvent activer ou désactiver les tampons par défaut. Lorsque vous utilisez ces deux fonctions, vous devez confirmer si la configuration du serveur prend en charge un actualisation instantanée. Si nécessaire, ajustez la configuration ou appelez ob_end_flush ().
Tous les navigateurs ne prennent pas en charge un rafraîchissement en temps réel des tampons, et parfois le navigateur retardera l'affichage du contenu même si le tampon est actualisé.
Lorsque vous rafraîchissez le tampon, vous devez faire attention à l'ordre de sortie. Le contenu de sortie sera affiché en premier. Lorsque ob_flush () est appelé pour actualiser, le nouveau contenu continuera avec la sortie précédente.
ob_flush () et flush () sont des fonctions importantes en PHP pour contrôler le comportement de rinçage des tampons de sortie. Les utiliser correctement peut obtenir une expérience de chargement de page plus fluide, mais il doit également être appliqué en combinaison avec la configuration du serveur et les fonctionnalités du navigateur.