Ce face ob_get_flush
ob_get_flush face două lucruri deodată: trimite conținutul bufferului (ca ob_end_flush) și ți-l dă și într-o variabilă. Este util când vrei să afișezi pagina și să o salvezi în același timp, de exemplu într-un cache.
Ce returnează
Conținutul bufferului sau false dacă nu există buffer.
Exemple
Exemplul 1: Afișare și salvare în cache
<?php
ob_start();
echo "<h1>Oferta zilei: 20% reducere</h1>\n";
$pagina = ob_get_flush();
file_put_contents("cache-oferta.html", $pagina);
echo "Salvat în cache: " . filesize("cache-oferta.html") . " octeți";
Rezultat
<h1>Oferta zilei: 20% reducere</h1>
Salvat în cache: 36 octeți
Greșeli frecvente
- Afișezi și rezultatul returnat cu
echo. Conținutul apare de două ori, pentru căob_get_flushl-a trimis deja.
Comenzi înrudite
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.