Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Как записать данные в файл

Короткий ответ

file_put_contents() создаёт файл или заменяет его содержимое:

<?php
 
$file = sys_get_temp_dir() . '/recipe-write.txt';
 
file_put_contents($file, 'Hello');
 
echo file_get_contents($file);

Результат:

Hello

Добавить в конец

Флаг FILE_APPEND дописывает данные, а LOCK_EX защищает от одновременной записи:

<?php
 
$file = sys_get_temp_dir() . '/recipe-log.txt';
file_put_contents($file, "start\n");
file_put_contents($file, "finish\n", FILE_APPEND | LOCK_EX);
 
echo file_get_contents($file);

Результат:

start
finish

Папки ещё нет

Создайте её перед записью:

<?php
 
$dir = sys_get_temp_dir() . '/recipe-data/reports';
 
if (!is_dir($dir)) {
    mkdir($dir, 0777, true);
}
 
file_put_contents($dir . '/today.txt', 'ok');
 
var_dump(file_exists($dir . '/today.txt'));

Результат:

bool(true)

Функции из этого ответа

  • file_put_contents — Записывает данные в файл.
  • mkdir — Создаёт папку.
  • is_dir — Проверяет, является ли путь папкой.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.