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