fopen() с последующим применением fwrite(), а также использование одной функции file_put_contents()Функции fopen(), fwrite() и fclose()
Метод с использованием функций
fopen(), fwrite() и fclose() является традиционным способом записи данных в файлы. Этот подход состоит из трех этапов:
- Открытие файла функцией 
fopen()с заданием режима (w— запись,a— дописывание в конец файла и т.п.). - Запись данных с помощью функции 
fwrite(). - Закрытие открытого файла функцией 
fclose(). 
Примеры использования:
$file = 'example.txt';
$data = 'Это пример текста.';
// Открываем файл для записи
$fopen = fopen($file, 'w');
if (!$fopen) die('Ошибка открытия файла.');
// Записываем данные
$write = fwrite($fopen, $data);
if ($write === false) die('Ошибка записи в файл.');
// Закрываем файл
fclose($fopen);Преимущества этого подхода:
- Гибкость: можно реализовать сложную логику чтения-записи файлов.
 - Поддержка потоковых операций: удобно при обработке большого объема данных частями.
 
Недостатки:
- Требуется ручное закрытие файла, иначе возможна утечка ресурсов.
 - Код получается длиннее и менее выразительным.
 
Функция file_put_contents()
Альтернатива традиционному методу — функция file_put_contents(), которая позволяет одновременно открыть файл, записать данные и закрыть его одним действием. Она значительно сокращает объем кода и облегчает чтение программы.
Использование:
$file = 'example.txt';
$data = 'Это пример текста.';
// Записываем данные в файл одной строкой
$result = file_put_contents($file, $data);
if ($result === false) die('Ошибка записи в файл.');Преимущества:
- Упрощённый синтаксис: меньше строчек кода.
 - Автоматическое открытие и закрытие файла: уменьшает вероятность возникновения проблем с ресурсами.
 - Совместима с потоковыми операциями через дополнительный аргумент 
FILE_APPEND. 
Недостатки:
- Менее гибкая: ограничена возможностями единовременной записи данных целиком.
 - Может вызвать снижение производительности при работе с большими объёмами данных.
 
Когда выбирать fopen() + fwrite()?
Используйте этот подход, если:
- Вам нужен полный контроль над процессом записи, включая потоки и буферизацию.
 - Нужно читать и писать большие объемы данных последовательно, небольшими порциями.
 - Реализуются сложные алгоритмы обработки файлов.
 
Когда выбрать file_put_contents()?
Выбирайте этот вариант, если:
- Необходимо простое решение для записи небольшого объёма данных.
 - Нет нужды поддерживать сложные процедуры обработки потоков.
 - Важна компактность и лаконичность кода.
 
Итоговая рекомендация
Для большинства повседневных задач (Особенно небольших проектов и скриптов) выбор однозначен — используйте
file_put_contents(). Эта функция обладает простым API, автоматическим управлением ресурсами и поддерживает большинство стандартных задач. Однако если проект требует продвинутых манипуляций с файлом или высоконагруженной обработки больших объемов данных, выбирайте традиционный подход с функциями fopen(), fwrite() и fclose().Подводя итог, правильный выбор зависит от конкретной задачи и уровня требуемой гибкости. Остановитесь на наиболее простом подходе, пока необходимость усложнения не станет очевидной.