Les tampons de sortie au niveau utilisateur de PHP bufferisent toute la sortie après leur démarrage jusqu'à ce qu'ils soient désactivés ou que le script se termine. La sortie dans le contexte des tampons de sortie au niveau utilisateur de PHP est tout ce que PHP afficherait ou enverrait au navigateur. En termes pratiques, la sortie est toute donnée de longueur non nulle qui est :
hors des balises <?php ?>
affichées par des constructions de langage et des fonctions dont le but explicite est d'afficher des variables ou des chaînes fournies par l'utilisateur telles que echo, print, printf(), var_dump(), var_export(), vprintf()
affichées par des fonctions dont le but est de collecter et de produire des données/informations sur le script en cours ou PHP telles que debug_print_backtrace(), phpcredits(), phpinfo(), ReflectionExtension::info()
affichées par PHP sur une exception non capturée ou une erreur non gérée (sous réserve des paramètres de display_errors et error_reporting)
tout ce qui est écrit dans php://output
Note:
Les données écrites directement dans
stdoutou passées à une fonction SAPI avec une fonctionnalité similaire ne seront pas capturées par les tampons de sortie au niveau utilisateur. Cela inclut l'écriture de données dansstdoutavec fwrite() ou l'envoi d'en-têtes avec header() ou setcookie().