Funcția file_put_contents
Funcția file_put_contents scrie date într-un fișier. Primul parametru - calea către fișier,
al doilea - datele de scris. Al treilea parametru opțional definește modul de scriere (vezi tabelul de mai jos).
Al patrulea parametru opțional reprezintă un resurs de context de flux, creat de funcția stream_context_create.
Permite configurarea parametrilor de lucru cu fișierul sau cu resursa de rețea.
Sintaxă
file_put_contents(
string $filename,
mixed $data,
int $flags = 0,
?resource $context = null
): int|false
Valorile celui de-al treilea parametru
| Flag | Descriere |
|---|---|
FILE_USE_INCLUDE_PATH |
Dacă este setat, funcția va căuta fișierul
în directoarele specificate în parametrul include_path
din setările PHP din fișierul php.ini.
|
FILE_APPEND |
Adaugă date la sfârșitul fișierului în loc să le suprascrie |
LOCK_EX |
Obține un blocaj exclusiv asupra fișierului pe durata scrierii |
Exemplu
Să scriem un șir de caractere într-un fișier:
<?php
$res = file_put_contents('data.txt', 'abcde');
echo $res;
?>
Rezultatul executării codului returnează numărul de octeți scriși:
5
Exemplu
Să adăugăm date la sfârșitul fișierului:
<?php
$res = file_put_contents('data.txt', '12345', FILE_APPEND);
echo $res;
?>
Exemplu
Scrierea unui array într-un fișier:
<?php
$data = ['a', 'b', 'c'];
$res = file_put_contents('array.txt', implode(',', $data));
echo $res;
?>
Exemplu
În al treilea parametru se pot specifica mai multe
flag-uri, enumerându-le prin simbolul |.
De exemplu, să adăugăm date cu blocarea fișierului:
<?php
$res = file_put_contents(
'log.txt',
"text",
FILE_APPEND | LOCK_EX
);
echo $res;
?>
Exemplu
Utilizarea contextului:
<?php
$opts = [
'http' => [
'method' => "POST",
'header' => "Content-type: text/plain\r\n"
]
];
$context = stream_context_create($opts);
$res = file_put_contents(
'http://example.com/api',
'data=test',
false,
$context
);
?>
Vedeți și
-
funcția
file_get_contents,
care citește conținutul unui fișier -
funcția
fopen,
care deschide un fișier -
funcția
fwrite,
care scrie într-un fișier