Ce face fwrite / fputs
fwrite scrie textul la poziția curentă din fișier și mută cursorul după el. Unde ajunge textul depinde de modul în care ai deschis fișierul: la început cu "w", la final cu "a".
fputs este un alias: face exact același lucru. fwrite nu adaugă linie nouă singur, deci pui tu "\n" sau PHP_EOL.
Parametri
| Parametru | Descriere |
|---|---|
$stream |
Resursa returnată de fopen. |
$data |
Textul scris. |
$length |
Opțional. Scrie cel mult atâția octeți din text. |
Ce returnează
Numărul de octeți scriși sau false la eroare.
Exemple
Exemplul 1: Scriere cu numărul de octeți
<?php
$f = fopen("salut.txt", "w");
$octeti = fwrite($f, "Bună ziua!");
fclose($f);
echo "Am scris $octeti octeți: " . file_get_contents("salut.txt");
Rezultat
Am scris 11 octeți: Bună ziua!
Exemplul 2: Mai multe linii, cu fputs
<?php
$produse = ["telefon" => 1299, "husă" => 39, "încărcător" => 79];
$f = fopen("preturi.txt", "w");
foreach ($produse as $nume => $pret) {
fputs($f, "$nume: $pret lei\n");
}
fclose($f);
echo file_get_contents("preturi.txt");
Rezultat
telefon: 1299 lei
husă: 39 lei
încărcător: 79 lei
Greșeli frecvente
- Te aștepți ca fiecare
fwritesă înceapă un rând nou. Textele se lipesc unul de altul dacă nu adaugi\n. - Nu verifici rezultatul pe un disc plin sau fără drept de scriere.
fwritereturneazăfalsesau un număr mai mic decât lungimea textului.
Comenzi înrudite
fopen / fclose: Deschide un fișier pentru citire sau scriere și returnează o resursă; fclose îl închide.file_put_contents: Scrie un text într-un fișier. Creează fișierul dacă nu există.fread: Citește un număr dat de octeți dintr-un fișier deschis.flock: Blochează un fișier ca două scripturi să nu îl modifice în același timp.