Как записать данные в файл
Короткий ответ
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 — Проверяет, является ли путь папкой.