Ce face ob_clean
ob_clean aruncă tot ce s-a adunat în buffer până acum. Bufferul rămâne deschis, deci ce afișezi după apel se adună din nou în el.
Este util când ai început să generezi o pagină și apare o eroare: ștergi ce ai afișat și pui în loc un mesaj de eroare.
Ce returnează
true la succes, false (cu o notificare) dacă nu există buffer deschis.
Exemple
Exemplul 1: Înlocuirea paginii la o eroare
<?php
ob_start();
echo "<h1>Raport vânzări</h1>";
echo "<table>...";
$eroare = true;
if ($eroare) {
ob_clean();
echo "<p>Raportul nu poate fi generat acum.</p>";
}
ob_end_flush();
Rezultat
<p>Raportul nu poate fi generat acum.</p>
Greșeli frecvente
- Apelezi
ob_cleanfărăob_startînainte. Nu există buffer, primești o notificare, iar textul afișat deja a plecat spre browser.
Comenzi înrudite
ob_end_clean: Aruncă tot conținutul bufferului de ieșire curent și îl închide.ob_start / ob_get_clean / ob_end_flush: Pornește un buffer: tot ce afișezi după el este păstrat în memorie în loc să fie trimis imediat.ob_flush: Trimite mai departe conținutul bufferului curent și îl golește, fără să îl închidă.