ob_end_clean

funkcja

Usuwa zawartość aktywnego bufora wyjścia i zamyka go — dane bufora są bezpowrotnie kasowane, nic nie trafia do przeglądarki.

ob_end_clean(): bool

ob_end_clean wyrzuca wszystko, co zebrał aktywny bufor, i zamyka go. Dane nie są wysyłane do klienta — to celowe odrzucenie wyjścia. Zwraca true przy powodzeniu lub false, gdy żaden bufor nie jest aktywny.

Używaj jej, gdy chcesz anulować cały wygenerowany do tej pory HTML — np. gdy przed wysłaniem jakichkolwiek danych wykryłeś błąd i wolisz wyświetlić czystą stronę błędu.

<?php
declare(strict_types=1);

ob_start();
echo '<html>... połowa strony ...';

// coś poszło nie tak
$blad = true;

if ($blad) {
    ob_end_clean(); // wyrzuć wszystko
    http_response_code(500);
    echo 'Wystąpił błąd serwera.';
    exit;
}

echo '</html>';
ob_end_flush(); // normalny koniec — wyślij bufor

Porównanie funkcji kończących bufor:

| Funkcja | Dane bufora | Bufor | |---|---|---| | ob_end_clean() | kasowane | zamknięty | | ob_end_flush() | wysłane do klienta | zamknięty | | ob_get_clean() | zwrócone jako string | zamknięty | | ob_get_contents() | zwrócone jako string | pozostaje otwarty |

📘 Naucz się w lekcji →