ВНИМАНИЕ: Запись на курсы по HTML, CSS, JavaScript, PHP, Python, React, Vue, Laravel и другим фреймворкам и CMS,
а также: помощь в поиске работы и заказов, стажировка на реальных проектах→
251 of 410 menu
Бесплатный курс по выкладке сайтов на хостинг. Разбираем все нюансы! Начало 14 октября. Жми для записи!

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