ob_get_flush în PHP

Trimite conținutul bufferului, îl închide și îl returnează și ca text.

Sintaxă
ob_get_flush(): string|false

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_flush l-a trimis deja.

Comenzi înrudite