A file_put_contents függvény
A file_put_contents függvény adatokat ír fájlba. Az első paraméter a fájl elérési útja,
a második az írandó adat. A harmadik opcionális paraméter határozza meg az írási módot (lásd az alábbi táblázatot).
A negyedik opcionális paraméter egy stream környezet erőforrás, amit a stream_context_create függvény hoz létre.
Lehetővé teszi a fájllal vagy hálózati erőforrással való munka paramétereinek beállítását.
Szintaxis
file_put_contents(
string $filename,
mixed $data,
int $flags = 0,
?resource $context = null
): int|false
A harmadik paraméter értékei
| Flag | Leírás |
|---|---|
FILE_USE_INCLUDE_PATH |
Ha be van állítva, a függvény a fájlt
a PHP beállításaiban, a php.ini fájlban
az include_path paraméterben megadott könyvtárakban fogja keresni.
|
FILE_APPEND |
Az adatokat a fájl végéhez fűzi a felülírás helyett |
LOCK_EX |
Exkluzív lockot szerez a fájlra az írás idejére |
Példa
Írjunk egy stringet fájlba:
<?php
$res = file_put_contents('data.txt', 'abcde');
echo $res;
?>
A kód végrehajtásának eredménye visszaadja az írt bájtok számát:
5
Példa
Adjunk hozzá adatokat a fájl végéhez:
<?php
$res = file_put_contents('data.txt', '12345', FILE_APPEND);
echo $res;
?>
Példa
Tömb írása fájlba:
<?php
$data = ['a', 'b', 'c'];
$res = file_put_contents('array.txt', implode(',', $data));
echo $res;
?>
Példa
A harmadik paraméterben több flag is megadható,
a | szimbólummal elválasztva.
Példaként fűzzünk hozzá adatot a fájl lockolásával:
<?php
$res = file_put_contents(
'log.txt',
"text",
FILE_APPEND | LOCK_EX
);
echo $res;
?>
Példa
Környezet használata:
<?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
);
?>
Lásd még
-
a
file_get_contentsfüggvényt,
ami egy fájl tartalmát olvassa -
a
fopenfüggvényt,
ami fájlt nyit -
a
fwritefüggvényt,
ami fájlba ír