Funktio file_put_contents
Funktio file_put_contents kirjoittaa dataa tiedostoon. Ensimmäinen parametri on polku tiedostoon,
toinen on kirjoitettava data. Kolmas valinnainen parametri määrittää kirjoitustilan (katso alla oleva taulukko).
Neljäs valinnainen parametri on stream-konteksti resurssi, luotu funktiolla stream_context_create.
Mahdollistaa tiedoston tai verkkoresurssin kanssa työskentelyasetusten määrittämisen.
Syntaksi
file_put_contents(
string $filename,
mixed $data,
int $flags = 0,
?resource $context = null
): int|false
Kolmannen parametrin arvot
| Lippu | Kuvaus |
|---|---|
FILE_USE_INCLUDE_PATH |
Jos asetettu, funktio etsii tiedostoa
PHP:n asetustiedostossa php.ini
include_path-parametrissa määritellyistä hakemistoista.
|
FILE_APPEND |
Lisää data tiedoston loppuun korvaamisen sijaan |
LOCK_EX |
Hankki yksinoikeuden tiedoston lukituksen kirjoituksen ajaksi |
Esimerkki
Kirjoitetaan merkkijono tiedostoon:
<?php
$res = file_put_contents('data.txt', 'abcde');
echo $res;
?>
Koodin suorituksen tulos palauttaa kirjoitettujen tavujen määrän:
5
Esimerkki
Lisätään data tiedoston loppuun:
<?php
$res = file_put_contents('data.txt', '12345', FILE_APPEND);
echo $res;
?>
Esimerkki
Taulukon kirjoittaminen tiedostoon:
<?php
$data = ['a', 'b', 'c'];
$res = file_put_contents('array.txt', implode(',', $data));
echo $res;
?>
Esimerkki
Kolmannessa parametrissa voidaan määrittää useita
lippuja, luettelemalla ne |-merkin avulla.
Esimerkkinä lisätään data tiedoston lukituksella:
<?php
$res = file_put_contents(
'log.txt',
"text",
FILE_APPEND | LOCK_EX
);
echo $res;
?>
Esimerkki
Kontekstin käyttö:
<?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
);
?>
Katso myös
-
funktion
file_get_contents,
joka lukee tiedoston sisällön -
funktion
fopen,
joka avaa tiedoston -
funktion
fwrite,
joka kirjoittaa tiedostoon