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