Funkcija file_put_contents
Funkcija file_put_contents upisuje podatke u fajl. Prvi parametar - putanja do fajla,
drugi - podaci za upis. Treći opcioni parametar definiše režim upisa (vidi tabelu ispod).
Četvrti opcioni parametar predstavlja resurs konteksta toka, kreiran od strane funkcije stream_context_create.
Dozvoljava podešavanje parametara rada sa fajlom ili mrežnim resursom.
Sintaksa
file_put_contents(
string $filename,
mixed $data,
int $flags = 0,
?resource $context = null
): int|false
Vrednosti trećeg parametra
| Zastavica | Opis |
|---|---|
FILE_USE_INCLUDE_PATH |
Ako je postavljena, funkcija će tražiti fajl
u direktorijumima navedenim u parametru include_path
u podešavanjima PHP-a u fajlu php.ini.
|
FILE_APPEND |
Dodati podatke na kraj fajla umesto prepisivanja |
LOCK_EX |
Dobiti ekskluzivno zaključavanje fajla za vreme upisa |
Primer
Hajde da upišemo string u fajl:
<?php
$res = file_put_contents('data.txt', 'abcde');
echo $res;
?>
Rezultat izvršavanja koda vraća broj upisanih bajtova:
5
Primer
Hajde da dodamo podatke na kraj fajla:
<?php
$res = file_put_contents('data.txt', '12345', FILE_APPEND);
echo $res;
?>
Primer
Upisivanje niza u fajl:
<?php
$data = ['a', 'b', 'c'];
$res = file_put_contents('array.txt', implode(',', $data));
echo $res;
?>
Primer
U trećem parametru mogu se navesti više
zastavica, navodeći ih preko simbola |.
Za primer, dopišimo podatke sa zaključavanjem fajla:
<?php
$res = file_put_contents(
'log.txt',
"text",
FILE_APPEND | LOCK_EX
);
echo $res;
?>
Primer
Korišćenje konteksta:
<?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
);
?>
Pogledajte takođe
-
funkciju
file_get_contents,
koja čita sadržaj fajla -
funkciju
fopen,
koja otvara fajl -
funkciju
fwrite,
koja upisuje u fajl