2

这是我的代码:

$open = fopen('emails.txt', 'w+');                  
if ($open) {
    $content = "$first $last <$email>,";
    if (fwrite($open, $content)) {
         // ...
     }
}

但是,当我运行它时,它只是替换了我在文件中已有的文本。我如何只添加到文件中,而不是替换它?

4

2 回答 2

3

您必须以附加模式打开文件,将a其作为第二个参数传递给fopen()

$open = fopen("emails.txt", 'a');

然后,您写入文件的数据将附加到文件的末尾,保留之前写入文件的数据。

于 2012-09-04T02:30:33.850 回答
1

如果您只在每次请求时将一个文本块附加到文件中,您也可以查看file_put_contents()

file_put_contents('emails.txt', $content, FILE_APPEND);

比必须写fopen(),fwrite()和更短fclose(),尽管后者或多或少是可选的 :)

于 2012-09-04T02:36:01.367 回答