Ce face fflush
Ca să fie mai rapid, PHP nu scrie pe disc la fiecare fwrite, ci adună datele într-un buffer. fflush golește acest buffer, ca alte programe care citesc fișierul să vadă imediat datele noi.
Datele ajung la sistemul de operare, dar acesta le poate ține încă puțin în memorie. Pentru scriere garantată pe disc există fsync.
Parametri
| Parametru | Descriere |
|---|---|
$stream |
Resursa returnată de fopen. |
Ce returnează
true la succes, false la eroare.
Exemple
Exemplul 1: Jurnal vizibil imediat
<?php
$jurnal = fopen("import.log", "a");
foreach (["Pornire import", "100 produse", "Gata"] as $mesaj) {
fwrite($jurnal, $mesaj . "\n");
fflush($jurnal);
}
fclose($jurnal);
echo file_get_contents("import.log");
Rezultat
Pornire import
100 produse
Gata
Greșeli frecvente
- Confunzi
fflushcuflush.fflushlucrează pe un fișier deschis,flushtrimite pagina spre browser.
Comenzi înrudite
fsync: Forțează scrierea fizică pe disc a datelor unui fișier și a informațiilor despre el.fwrite / fputs: Scrie un text într-un fișier deschis cu fopen. fputs este același lucru, cu alt nume.flush: Trimite imediat spre browser tot ce a fost afișat până acum.