ob_end_clean

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

ob_end_cleanLöscht den Inhalt des aktiven Ausgabepuffers und deaktiviert ihn

Beschreibung

ob_end_clean(): bool

Diese Funktion ruft den Ausgabe-Handler auf (mit den Flags PHP_OUTPUT_HANDLER_CLEAN und PHP_OUTPUT_HANDLER_FINAL), verwirft dessen Rückgabewert, verwirft den Inhalt des aktiven Ausgabepuffers und deaktiviert den aktiven Ausgabepuffer.

Wenn es keinen aktiven Ausgabepuffer gibt, der mit dem Flag PHP_OUTPUT_HANDLER_REMOVABLE gestartet wurde, schlägt ob_end_clean() fehl.

ob_end_clean() verwirft den Inhalt des aktiven Ausgabepuffers, auch wenn er ohne das Flag PHP_OUTPUT_HANDLER_CLEANABLE gestartet wurde.

Parameter-Liste

Diese Funktion besitzt keine Parameter.

Rückgabewerte

Gibt bei Erfolg true zurück. Bei einem Fehler wird false zurückgegeben.

Fehler/Exceptions

Wenn die Funktion fehlschlägt, erzeugt sie eine E_NOTICE-Meldung.

Beispiele

Das folgende Beispiel zeigt eine einfache Möglichkeit, den Inhalt des aktiven Ausgabepuffers loszuwerden:

Beispiel #1 ob_end_clean()-Beispiel

<?php
ob_start
();
echo
'Text der nicht ausgegeben wird.';
ob_end_clean();
?>

Siehe auch

  • ob_start() - Ausgabepufferung aktivieren
  • ob_get_contents() - Liefert den Inhalt des Ausgabepuffers
  • ob_clean() - Löscht den Inhalt des aktiven Ausgabepuffer
  • ob_get_clean() - Get the contents of the active output buffer and turn it off
  • ob_end_flush() - Leert (sendet) den Rückgabewert des aktiven Ausgabe-Handlers und deaktiviert den aktiven Ausgabepuffer

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