我已经对这个错误感到恼火,我已经尝试解决它,但这对我来说是一场挣扎。所以我有一个php文件写入.txt文件,但是当我输入不同的信息时,它会替换文件中已有的信息,但我不希望它这样做。我想要它添加。帮助
<?php
$filenum = echo rand();
$info = $_GET["info"]; //You have to get the form data
$file = fopen('$filenum.txt', 'w+'); //Open your .txt file
$content = $info. PHP_EOL .$gain. PHP_EOL .$offset;
fwrite($file , $content); //Now lets write it in there
fclose($file ); //Finally close our .txt
die(header("Location: ".$_SERVER["HTTP_REFERER"]));
&GT?;
答案 0 :(得分:2)
我不知道解决方案,但我建议你看看你正在打开的文件格式,我认为它应该是&#39; a +&#39;或类似的东西,打开文件附加而不是&#39; w +&#39;。我还没有使用过很多PHP,但我认为情况就是这样
答案 1 :(得分:1)
您正在使用w+
模式,文档清楚地说明了:
开放阅读和写作;将文件指针放在文件的开头,将文件截断为零长度。如果该文件不存在,请尝试创建它。
如果您想要追加,请使用a
或a+
。
顺便说一句,我还不确定你为什么要使用w+
而不只是w
,因为你从来没有读过这个文件。
此外,您可以使用file_put_contents()
$filenum = rand();
$info = $_GET['info'];
$content = $info . PHP_EOL . $gain . PHP_EOL . $offset . PHP_EOL;
file_put_contents("$filenum.txt", $content, FILE_APPEND);
die(header("Location: " . $_SERVER['HTTP_REFERER']));
请注意,PHP_EOL
末尾应该有$content
。否则,每次添加到文件时,它都将与您之前添加的最后一行在同一行开始。