file_put_contents în PHP

Scrie un text într-un fișier. Creează fișierul dacă nu există.

Sintaxă
file_put_contents(string $fisier, mixed $date, int $optiuni = 0, ?resource $context = null): int|false

Ce face file_put_contents

file_put_contents scrie datele în fișier dintr-o singură comandă. Implicit, conținutul vechi este înlocuit. Cu opțiunea FILE_APPEND, textul se adaugă la final.

Opțiunea LOCK_EX blochează fișierul pe durata scrierii, ca două cereri simultane să nu îl strice.

Parametri

Parametru Descriere
$fisier Calea către fișier.
$date Textul (sau tabloul de texte) scris.
$optiuni Opțional. FILE_APPEND, LOCK_EX.

Ce returnează

Numărul de octeți scriși sau false la eroare.

Exemple

Exemplul 1: Scriere simplă

<?php
$octeti = file_put_contents("salut.txt", "Salut din PHP!");
echo "Am scris $octeti octeți.";

Rezultat

Am scris 14 octeți.

Exemplul 2: Jurnal (log) cu FILE_APPEND

<?php
@unlink("jurnal.log");

file_put_contents("jurnal.log", "Utilizator logat\n", FILE_APPEND | LOCK_EX);
file_put_contents("jurnal.log", "Comandă plasată\n", FILE_APPEND | LOCK_EX);

echo file_get_contents("jurnal.log");

Rezultat

Utilizator logat
Comandă plasată

Greșeli frecvente

  • Uiți FILE_APPEND și jurnalul conține mereu doar ultima linie.
  • Primești Permission denied. Utilizatorul serverului web nu are drept de scriere în acel director.

Comenzi înrudite

  • file_get_contents: Citește tot conținutul unui fișier (sau al unei adrese URL) într-un text.
  • json_encode: Transformă un tablou sau obiect PHP în text JSON.