Я хочу добавлять контент в файл при каждой загрузке страницы, но он перезаписывает файл, а не обновляет контент. мой исходный код:

$file_handle = fopen('log.txt', 'w'); 
fwrite($file_handle, $message);
fclose($file_handle);

После поиска ничего не нашлось, чтобы решить мою проблему:

Как отредактировать / обновить текстовый файл с помощью php

PHP Изменить одну строку в текстовом файле

Я использовал w+ и r+, но это не сработало.

$file_handle = fopen('log.txt', 'w+'); 
fwrite($file_handle, $message);
fclose($file_handle);

Оба пишут файл с новым содержимым, а не сохраняют старое содержимое. Я хочу сохранить старое содержимое, просто добавив новое содержимое в существующий файл.

php
0
Padideh 8 Дек 2017 в 18:12

1 ответ

Лучший ответ

Вы пытаетесь добавить в файл, поэтому вам нужен режим 'a':

$file_handle = fopen('log.txt', 'a'); 
fwrite($file_handle, $message);
fclose($file_handle);

Из документации:

'a': Open for writing only; place the file pointer at the end of the file. If the file does not exist, attempt to create it. In this mode, fseek() has no effect, writes are always appended.

2
WayneC 8 Дек 2017 в 15:15