Функция file_put_contents

Функцията file_put_contents записва данни във файл. Първият параметър - пътят към файла, вторият - данните за запис. Третият незадължителен параметър определя режима на запис (виж таблицата по-долу).

Четвъртият незадължителен параметър представлява ресурс на контекст на потока, създаден от функцията stream_context_create. Позволява настройване на параметрите за работа с файл или мрежов ресурс.

Синтаксис

phpfile_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<?php
  $res = file_put_contents('data.txt', 'abcde');
  echo $res;
?>

Резултатът от изпълнението на кода връща броя на записаните байтове:

php5

Пример

Нека добавим данни в края на файла:

php<?php
  $res = file_put_contents('data.txt', '12345', FILE_APPEND);
  echo $res;
?>

Пример

Запис на масив във файл:

php<?php
  $data = ['a', 'b', 'c'];
  $res = file_put_contents('array.txt', implode(',', $data));
  echo $res;
?>

Пример

В третия параметър могат да се указват няколко флага, изброявайки ги със символа |. Като пример ще добавим данни с заключване на файла:

php<?php
  $res = file_put_contents(
    'log.txt',
    "text",
    FILE_APPEND | LOCK_EX
  );
  echo $res;
?>

Пример

Използване на контекст:

php<?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,
    която записва във файл