Funktionen file_put_contents
Funktionen file_put_contents skriver data till en fil. Den första parametern är sökvägen till filen,
den andra är datan som ska skrivas. Den tredje valfria parametern bestämmer skrivläget (se tabellen nedan).
Den fjärde valfria parametern är en resurs för strömkontext, skapad av funktionen stream_context_create.
Gör det möjligt att konfigurera parametrar för att arbeta med filer eller nätverksresurser.
Syntax
file_put_contents(
string $filename,
mixed $data,
int $flags = 0,
?resource $context = null
): int|false
Värden för den tredje parametern
| Flagga | Beskrivning |
|---|---|
FILE_USE_INCLUDE_PATH |
Om satt, kommer funktionen att söka efter filen
i katalogerna som anges i parametern include_path
i PHP-inställningarna i filen php.ini.
|
FILE_APPEND |
Lägg till data i slutet av filen istället för att skriva över |
LOCK_EX |
Skaffa exklusiv låsning av filen under tiden data skrivs |
Exempel
Låt oss skriva en sträng till en fil:
<?php
$res = file_put_contents('data.txt', 'abcde');
echo $res;
?>
Resultatet av exekveringen returnerar antalet skrivna byte:
5
Exempel
Låt oss lägga till data i slutet av filen:
<?php
$res = file_put_contents('data.txt', '12345', FILE_APPEND);
echo $res;
?>
Exempel
Skriva en array till en fil:
<?php
$data = ['a', 'b', 'c'];
$res = file_put_contents('array.txt', implode(',', $data));
echo $res;
?>
Exempel
I den tredje parametern kan man ange flera
flaggor, genom att lista dem med symbolen |.
Som exempel, låt oss lägga till data med fil-låsning:
<?php
$res = file_put_contents(
'log.txt',
"text",
FILE_APPEND | LOCK_EX
);
echo $res;
?>
Exempel
Användning av kontext:
<?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
);
?>
Se även
-
funktionen
file_get_contents,
som läser innehållet i en fil -
funktionen
fopen,
som öppnar en fil -
funktionen
fwrite,
som skriver till en fil