这是我的代码:
$open = fopen('emails.txt', 'w+');
if ($open) {
$content = "$first $last <$email>,";
if (fwrite($open, $content)) {
// ...
}
}
但是,当我运行它时,它只是替换了我在文件中已有的文本。我如何只添加到文件中,而不是替换它?
您必须以附加模式打开文件,将a
其作为第二个参数传递给fopen()
:
$open = fopen("emails.txt", 'a');
然后,您写入文件的数据将附加到文件的末尾,保留之前写入文件的数据。
如果您只在每次请求时将一个文本块附加到文件中,您也可以查看file_put_contents()
:
file_put_contents('emails.txt', $content, FILE_APPEND);
比必须写fopen()
,fwrite()
和更短fclose()
,尽管后者或多或少是可选的 :)