Funkce file_put_contents
Funkce file_put_contents zapisuje data do souboru. První parametr - cesta k souboru,
druhý - data pro zápis. Třetí volitelný parametr určuje režim zápisu (viz tabulka níže).
Čtvrtý volitelný parametr představuje prostředek kontextu proudu, vytvořený funkcí stream_context_create.
Umožňuje nastavit parametry práce se souborem nebo síťovým prostředkem.
Syntaxe
file_put_contents(
string $filename,
mixed $data,
int $flags = 0,
?resource $context = null
): int|false
Hodnoty třetího parametru
| Příznak | Popis |
|---|---|
FILE_USE_INCLUDE_PATH |
Pokud je nastaven, funkce bude hledat soubor
v adresářích uvedených v parametru include_path
v nastavení PHP v souboru php.ini.
|
FILE_APPEND |
Připisovat data na konec souboru místo přepsání |
LOCK_EX |
Získat exkluzivní zámek souboru na dobu zápisu |
Příklad
Zapišme řetězec do souboru:
<?php
$res = file_put_contents('data.txt', 'abcde');
echo $res;
?>
Výsledek provedení kódu vrací počet zapsaných bajtů:
5
Příklad
Přidejme data na konec souboru:
<?php
$res = file_put_contents('data.txt', '12345', FILE_APPEND);
echo $res;
?>
Příklad
Zápis pole do souboru:
<?php
$data = ['a', 'b', 'c'];
$res = file_put_contents('array.txt', implode(',', $data));
echo $res;
?>
Příklad
Ve třetím parametru lze uvádět několik
příznaků, výčtem jejich přes symbol |.
Jako příklad připišme data se zamčením souboru:
<?php
$res = file_put_contents(
'log.txt',
"text",
FILE_APPEND | LOCK_EX
);
echo $res;
?>
Příklad
Použití 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
);
?>
Viz také
-
funkci
file_get_contents,
která čte obsah souboru -
funkci
fopen,
která otevírá soubor -
funkci
fwrite,
která zapisuje do souboru