Maison >développement back-end >tutoriel php >PHP : Explication détaillée des différences d'utilisation entre flush() et ob_flush(), ob_end_flush()

PHP : Explication détaillée des différences d'utilisation entre flush() et ob_flush(), ob_end_flush()

伊谢尔伦
伊谢尔伦original
2017-06-24 13:10:153671parcourir

Tout d'abord, parlons du tampon. Il s'agit d'un espace d'adressage mémoire, qui fait 4096 (1 Ko) [Trouvez la configuration output_buffering dans le php.inifichier de configuration]. Mécanisme de sortie_buffering. Le code php est en cours d'exécution. Lorsque le contenu est affiché, le contenu n'est pas affiché immédiatement, mais le contenu d'écho/impression est affiché dans le tampon. Lorsque le tampon est plein, les données seront transmises au noyau système et. transmis au TCP au navigateur pour affichage. Lorsque le mécanisme php output_buffering est activé (il est activé par défaut et peut être activé via la fonction ob_start(). Uniquement lorsque les données dans le tampon php atteignent la valeur définie). les données dans le tampon soient envoyées au navigateur. Mais les navigateurs ont également des caches. Certaines versions de navigation n'affichent le contenu que lorsque les données atteignent 256 octets
Fonction ob_start() : ouvre le tampon de sortie.
Format de la fonction void ob_start(void)
Remarque : lorsque le tampon est activé, toutes les informations d'en-tête de fichier du programme PHP ne seront pas envoyées, mais seront enregistrées dans le tampon interne. Afin d'afficher le contenu du tampon, vous pouvez utiliser ob_end_flush() ou flush() pour afficher le contenu du tampon.

flush : actualise le contenu du tampon et de la sortie.
Format de la fonction : flush()
Description : Cette fonction est fréquemment utilisée et est très efficace.

ob_get_contents : Renvoie le contenu du tampon interne.
Format de la fonction : string ob_get_contents(void)
Description : Cette fonction renverra le contenu du tampon actuel si le tampon de sortie n'est pas activé, il renverra

ob_get_length.  : Renvoie la longueur du tampon interne.
Format de la fonction : int ob_get_length(void)
Description : Cette fonction renverra la longueur dans le tampon actuel ; comme ob_get_contents, si le tampon de sortie n'est pas activé, elle retournera FALSE. 🎜 >ob_end_clean

: Supprimez le contenu du tampon interne et fermez le tampon interne

Format de la fonction : void ob_end_clean(void) Description : Cette fonction n'affichera pas le contenu du tampon interne mais le supprimera
ob_end_flush : Envoie le contenu du tampon interne au navigateur et ferme le tampon de sortie
Format de la fonction : void ob_end_flush(void)

Description : Cette fonction envoie le contenu du tampon de sortie (le cas échéant mots)



ob_implicit_flush

 : Activer ou désactiver le vidage absolu

Format de la fonction : void ob_implicit_flush ([int flag]) Description : La valeur par défaut est de fermer le tampon, après avoir activé la sortie absolue, chaque sortie de script est envoyée directement au navigateur et il n'est pas nécessaire d'appeler flush()

flush() peut immédiatement envoyer le contenu en attente de sortie au client. , tandis que ob_flush() ne peut qu'attendre. Il ne sera affiché que lorsque le tampon est plein. Vous pouvez le vérifier grâce à l'exemple PHP simple suivant :

Exemple de code :

.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn