Ce face fsync
fsync așteaptă până când sistemul de operare a scris efectiv pe disc tot ce ține de fișier: conținutul și informațiile despre el (dimensiune, dată). După fsync, datele rămân chiar dacă serverul se oprește brusc.
Este mai lent decât fflush, deci îl folosești doar pentru date importante, de exemplu înregistrarea unei plăți într-un fișier.
Parametri
| Parametru | Descriere |
|---|---|
$stream |
Resursa unui fișier local, deschis pentru scriere. |
Ce returnează
true la succes, false la eroare.
Exemple
Exemplul 1: Înregistrare care nu trebuie pierdută
<?php
$f = fopen("plati.log", "a");
fwrite($f, "2026-10-19 Plată 250 lei, comanda 1024\n");
var_dump(fsync($f));
fclose($f);
Rezultat
bool(true)
Greșeli frecvente
- Apelezi
fsyncdupă fiecare linie într-un import mare. Fiecare apel așteaptă discul și importul devine foarte lent. Apelează-l o dată, la final.
Comenzi înrudite
fdatasync: Forțează scrierea fizică pe disc doar a conținutului unui fișier.fflush: Scrie imediat în fișier datele care așteaptă încă în bufferul de scriere.fwrite / fputs: Scrie un text într-un fișier deschis cu fopen. fputs este același lucru, cu alt nume.