更新/修改服务器上的现有文件

时间:2017-12-08 15:12:40

标签: php

我想在每次加载页面时向文件添加内容,但它会覆盖文件,而不是更新内容。我的原始代码:

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

在我搜索之后,没有任何东西可以解决我的问题:

How to edit/update a txt file with php

PHP Modify a single line in a text file

我使用了w+r+,但它没有用。

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

两者都写入新内容的文件,而不是保留旧内容。我想保留旧内容,只需将新内容添加到现有文件中。

1 个答案:

答案 0 :(得分:2)

您正在尝试附加到文件,因此您需要mode 'a'

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

来自docs

'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.