Функция 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,
която записва във файл