ob_end_clean

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

ob_end_cleanEtkin çıktı tamponunu temizler (siler) ve tamponu kapatır

Açıklama

ob_end_clean(): bool

Bu işlev çıktı işleyicisini çağırır (PHP_OUTPUT_HANDLER_CLEAN ve PHP_OUTPUT_HANDLER_FINAL bayraklarıyla), dönüş değerini iptal eder, etkin çıktı tamponunun içeriğini siler ve tamponu kapatır.

PHP_OUTPUT_HANDLER_REMOVABLE ile başlatılmış bir etkin çıktı tamponu yoksa ob_end_clean() başarısız olur.

Etkin çıktı tamponu PHP_OUTPUT_HANDLER_CLEANABLE bayrağı olmaksızın başlatılsa bile ob_end_clean() etkin çıktı tamponunun içeriğini siler.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Hatalar/İstisnalar

İşlev başarısız olursa E_NOTICE seviyesinde bir ileti üretir.

Örnekler

Aşağıda etkin çıktı tamponunun içeriğinden kurtulmanın kolay bir yolu gösterilmiştir:

Örnek 1 - ob_end_clean() örneği

<?php
ob_start
();
echo
'Gösterilmek istenmeyen metin.';
ob_end_clean();
?>

Ayrıca Bakınız

  • ob_start() - Çıktı tamponlamasını başlatır
  • ob_get_contents() - Çıktı tamponunun içeriği ile döner
  • ob_clean() - Etkin çıktı tamponunun içeriğini temizler (siler)
  • ob_get_clean() - Etkin çıktı tamponun içeriğini döndürüp tamponu kapatır
  • ob_end_flush() - Etkin çıktı işleyicisinin dönüş değerini temizler (gönderir), etkin çıktı tamponunu kapatır

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