php无法写入新行,文件被过度渲染

php无法写入新行,文件被过度渲染,php,fopen,Php,Fopen,我读过很多问题,没有一个有效。我有一个txt文件。第一行包含由选项卡“\n”分隔的标题。现在,当我发布到这个文件时,我希望它获取这些值,并用一个选项卡将它们分开,然后将它们写入txt文件的新行。但当我运行它时,它只会覆盖第一行 <?php $post = $_POST; $myFile = 'test.txt'; $fh = fopen($myFile, 'w'); $columns = ""; foreach ($post as $key => $value){ $col

我读过很多问题,没有一个有效。我有一个txt文件。第一行包含由选项卡“\n”分隔的标题。现在,当我发布到这个文件时,我希望它获取这些值,并用一个选项卡将它们分开,然后将它们写入txt文件的新行。但当我运行它时,它只会覆盖第一行

<?php
$post = $_POST;
$myFile = 'test.txt';
$fh = fopen($myFile, 'w');
$columns = "";
foreach ($post as $key => $value){

    $columns .= $value . "\t"; 

}
fwrite($fh, $columns . PHP_EOL);
fclose($fh);
?>

您正在寻找的是
a
而不是
w

$fh = fopen($myFile, 'a');
发件人:

“w”仅限书写将文件指针放在 删除文件并将文件截断为零长度。如果文件没有 存在,尝试创建它

“a”只对写作开放将文件指针放在 文件。如果文件不存在,请尝试创建它

试试
$fh=fopen($myFile,'a')如果不想覆盖内容

使用
w
覆盖,而
a
a+
追加

有关该函数的更多信息,请参阅PHP手册

另请参阅PHP手册中的
fopen()

'a'
仅用于书写;将文件指针放在文件末尾。如果文件不存在,请尝试创建它


'a+'
打开进行读写;将文件指针放在文件末尾。如果文件不存在,请尝试创建它。

w
用于写入,这意味着覆盖之前的任何内容

更改以下行:

$fh = fopen($myFile, 'w'); //w = write


它应该可以为您解决问题。

我已经尝试过了\r\n所有这些,最后尝试了EOL,但文件的第一行仍然被覆盖
$fh=fopen($myFile,'a')如果不想覆盖内容。使用
w
覆盖和
a
a+
追加。谢谢,抱歉这么笨。成功了@JasonStorey:当你能做到的时候,把这两个答案标记为“接受”。
$fh = fopen($myFile, 'a'); //a = append