Funkcia file_put_contents
Funkcia file_put_contents zapisuje dáta do súboru. Prvý parameter - cesta k súboru,
druhý - dáta na zápis. Tretí voliteľný parameter určuje režim zápisu (pozri tabuľku nižšie).
Štvrtý voliteľný parameter predstavuje zdroj kontextu prúdu, vytvorený funkciou stream_context_create.
Umožňuje nastaviť parametre práce so súborom alebo sieťovým zdrojom.
Syntax
file_put_contents(
string $filename,
mixed $data,
int $flags = 0,
?resource $context = null
): int|false
Hodnoty tretieho parametra
| Príznak | Popis |
|---|---|
FILE_USE_INCLUDE_PATH |
Ak je nastavený, funkcia bude hľadať súbor
v adresároch, uvedených v parametri include_path
v nastaveniach PHP v súbore php.ini.
|
FILE_APPEND |
Dopísať dáta na koniec súboru namiesto prepísania |
LOCK_EX |
Získať exkluzívne zamknutie súboru na čas zápisu |
Príklad
Zapíšme reťazec do súboru:
<?php
$res = file_put_contents('data.txt', 'abcde');
echo $res;
?>
Výsledok vykonania kódu vracia počet zapísaných bajtov:
5
Príklad
Pridajme dáta na koniec súboru:
<?php
$res = file_put_contents('data.txt', '12345', FILE_APPEND);
echo $res;
?>
Príklad
Zápis poľa do súboru:
<?php
$data = ['a', 'b', 'c'];
$res = file_put_contents('array.txt', implode(',', $data));
echo $res;
?>
Príklad
V treťom parametri je možné uviesť niekoľko
príznakov, zoznamujeme ich cez symbol |.
Ako príklad dopíšme dáta so zamknutím súboru:
<?php
$res = file_put_contents(
'log.txt',
"text",
FILE_APPEND | LOCK_EX
);
echo $res;
?>
Príklad
Použitie kontextu:
<?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
);
?>
Pozrite tiež
-
funkciu
file_get_contents,
ktorá číta obsah súboru -
funkciu
fopen,
ktorá otvára súbor -
funkciu
fwrite,
ktorá zapisuje do súboru