Funkcja file_put_contents
Funkcja file_put_contents zapisuje dane do pliku. Pierwszy parametr - ścieżka do pliku,
drugi - dane do zapisania. Trzeci opcjonalny parametr określa tryb zapisu (patrz tabela poniżej).
Czwarty opcjonalny parametr reprezentuje zasób kontekstu strumienia, utworzony przez funkcję stream_context_create.
Pozwala skonfigurować parametry pracy z plikiem lub zasobem sieciowym.
Składnia
file_put_contents(
string $filename,
mixed $data,
int $flags = 0,
?resource $context = null
): int|false
Wartości trzeciego parametru
| Flaga | Opis |
|---|---|
FILE_USE_INCLUDE_PATH |
Jeśli ustawiona, funkcja będzie szukać pliku
w katalogach określonych w parametrze include_path
w ustawieniach PHP w pliku php.ini.
|
FILE_APPEND |
Dopisywać dane na koniec pliku zamiast nadpisywania |
LOCK_EX |
Uzyskać wyłączną blokadę pliku na czas zapisu |
Przykład
Zapiszmy ciąg znaków do pliku:
<?php
$res = file_put_contents('data.txt', 'abcde');
echo $res;
?>
Wynik wykonania kodu zwraca liczbę zapisanych bajtów:
5
Przykład
Dodajmy dane na koniec pliku:
<?php
$res = file_put_contents('data.txt', '12345', FILE_APPEND);
echo $res;
?>
Przykład
Zapis tablicy do pliku:
<?php
$data = ['a', 'b', 'c'];
$res = file_put_contents('array.txt', implode(',', $data));
echo $res;
?>
Przykład
W trzecim parametrze można określić kilka
flag, wymieniając je przez symbol |.
Jako przykład dopiszmy dane z blokadą pliku:
<?php
$res = file_put_contents(
'log.txt',
"text",
FILE_APPEND | LOCK_EX
);
echo $res;
?>
Przykład
Użycie kontekstu:
<?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
);
?>
Zobacz też
-
funkcję
file_get_contents,
która odczytuje zawartość pliku -
funkcję
fopen,
która otwiera plik -
funkcję
fwrite,
która zapisuje do pliku