Почему запись в файл добавляется в конец?

В PHP для добавления записей в конец файла используется функция file_put_contents. При использовании этой функции с параметром FILE_APPEND запись будет добавлена в конец файла.

Прежде чем разобраться, почему запись добавляется в конец файла, давайте сначала рассмотрим некоторые основные концепции ввода-вывода в PHP.

PHP предоставляет несколько функций для работы с файлами, включая fopen, fwrite, fclose, file_get_contents и file_put_contents.

Функции fopen, fwrite и fclose предназначены для ручного управления файлами. Вы открываете файл с помощью fopen, записываете в него данные с помощью fwrite и затем закрываете файл с помощью fclose. Таким образом, при каждой записи вы указываете позицию, куда записывать данные в файле.

Функция file_get_contents используется, чтобы прочитать содержимое файла в виде строки. При этом не требуется указывать позицию для чтения данных, так как функция автоматически читает файл от начала до конца.

Однако, функция file_put_contents является мощным инструментом, который объединяет открытие, запись и закрытие файлов в одной функции. Она принимает два параметра: имя файла и содержимое (строку или массив), которое нужно записать в файл.

Когда вы передаете параметр FILE_APPEND вторым аргументом функции, file_put_contents добавляет содержимое к концу файла, не затирая предыдущие записи.

Таким образом, если вы хотите добавить новую запись в файл, не затирая предыдущие данные, используйте функцию file_put_contents с параметром FILE_APPEND.

Пример:

$file = 'example.txt';
$data = 'Новая запись';

file_put_contents($file, $data, FILE_APPEND);

В результате, в файле example.txt будет добавлена новая запись в конец, не затирая предыдущие данные, если они были.