Функцыя file_put_contents
Функцыя file_put_contents
запісвае даныя ў файл. Першы параметр - шлях да файла,
другі - даныя для запісу. Трэці неабавязковы параметр вызначае рэжым запісу (гл. табліцу ніжэй).
Чацвёрты неабавязковы параметр уяўляе сабой рэсурс кантэксту патоку, створаны функцыяй stream_context_create
.
Дазваляе наладзіць параметры работы з файлам або сеціўным рэсурсам.
Сінтаксіс
file_put_contents(
string $filename,
mixed $data,
int $flags = 0,
?resource $context = null
): int|false
Значэнні трэцяга параметра
Сцяг | Апісанне |
---|---|
FILE_USE_INCLUDE_PATH |
Калі ўсталяваны, функцыя будзе шукаць файл
у дырэкторыях, указаных у параметры include_path
у наладах PHP у файле php.ini .
|
FILE_APPEND |
Дапісваць даныя ў канец файла замест перазапісу |
LOCK_EX |
Атрымаць эксклюзіўную блакіроўку файла на час запісу |
Прыклад
Давайце запішам радок у файл:
<?php
$res = file_put_contents('data.txt', 'abcde');
echo $res;
?>
Вынік выканання кода вяртае колькасць запісаных байтаў:
5
Прыклад
Давайце дадамо даныя ў канец файла:
<?php
$res = file_put_contents('data.txt', '12345', FILE_APPEND);
echo $res;
?>
Прыклад
Запіс масіва ў файл:
<?php
$data = ['a', 'b', 'c'];
$res = file_put_contents('array.txt', implode(',', $data));
echo $res;
?>
Прыклад
У трэцім параметры можна ўказываць некалькі
сцягоў, пералічваючы іх праз знак |
.
Для прыкладу дапішам даныя з блакіроўкай файла:
<?php
$res = file_put_contents(
'log.txt',
"text",
FILE_APPEND | LOCK_EX
);
echo $res;
?>
Прыклад
Выкарыстанне кантэксту:
<?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
);
?>
Глядзіце таксама
-
функцыю
file_get_contents
,
якая чытае змесціва файла -
функцыю
fopen
,
якая адкрывае файл -
функцыю
fwrite
,
якая запісвае ў файл