ob_end_clean

(PHP 4, PHP 5, PHP 7, PHP 8)

ob_end_cleanEffacez (nettoyez) le contenu du tampon de sortie actif et désactivez-le.

Description

ob_end_clean(): bool

Cette fonction appelle le gestionnaire de sortie (avec les drapeaux PHP_OUTPUT_HANDLER_CLEAN et PHP_OUTPUT_HANDLER_FINAL), ignore sa valeur de retour, ignore le contenu du tampon de sortie actif et désactive ce dernier.

ob_end_clean() échouera sans un tampon de sortie actif démarré avec le drapeau PHP_OUTPUT_HANDLER_REMOVABLE.

ob_end_clean() supprimera le contenu du tampon de sortie actif même s'il a été démarré sans le drapeau PHP_OUTPUT_HANDLER_CLEANABLE.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Cette fonction retourne true en cas de succès ou false si une erreur survient.

Erreurs / Exceptions

Si la fonction échoue, elle génère une E_NOTICE.

Exemples

L'exemple suivant montre une manière simple de se débarrasser du contenu du tampon de sortie actif :

Exemple #1 Exemple avec ob_end_clean()

<?php
ob_start
();
echo
'Texte qui ne sera pas affiché.';
ob_end_clean();
?>

Voir aussi

  • ob_start() - Enclenche la temporisation de sortie
  • ob_get_contents() - Retourne le contenu du tampon de sortie
  • ob_clean() - Nettoyer (effacer) le contenu du tampon de sortie actif.
  • ob_get_clean() - Obtiens le contenu du tampon de sortie actif et désactive-le
  • ob_end_flush() - Vide (envoie) la valeur de retour du gestionnaire de sortie actif et désactive le tampon de sortie actif

add a note

User Contributed Notes 2 notes

up
8
Sam Yong - hellclanner at live dot com
13 years ago
Take note that if you change zlib output compression setting in between ob_start and ob_end_clean or ob_end_flush, you will get an error: ob_end_flush() failed to delete buffer zlib output compression

Example:

<?php

ob_start
();

$output = ob_get_contents();

ini_set('zlib.output_compression', '1');

ob_end_clean();

?>

ob_end_clean(); in this example will throw the error.
up
7
John Smith
20 years ago
Note that if you started called ob_start with a callback, that callback will still be called even if you discard the OB with ob_end_clean.

Because there is no way of removing the callback from the OB once you've set it, the only way to stop the callback function from having any effect is to do something like:

<?php
$ignore_callback
= false;
ob_start('my_callback');
...
if(
$need_to_abort) {
$ignore_callback = true;
ob_end_clean();
...
}

function
my_callback(&$buffer) {
if(
$GLOBALS['ignore_callback']) {
return
"";
}
...
}
?>
To Top