Php 是否保存文本输出而不覆盖?

Php 是否保存文本输出而不覆盖?,php,Php,我的PHP脚本将覆盖本地主机上的现有输出。这是我的代码: $txt = "data.txt"; $fh = fopen($txt, 'w'); if (isset($_POST['idnumber']) && isset($_POST['idnumber'])) { $txt = $_POST['idnumber']; file_put_contents('data.txt',$txt."\n",FILE_APPEND); } fwrite($fh,$txt

我的PHP脚本将覆盖本地主机上的现有输出。这是我的代码:

$txt = "data.txt"; 
$fh = fopen($txt, 'w'); 
if (isset($_POST['idnumber']) && isset($_POST['idnumber'])) {
    $txt = $_POST['idnumber']; 
    file_put_contents('data.txt',$txt."\n",FILE_APPEND);
}
fwrite($fh,$txt);
fclose($fh);
}  
如何防止它被覆盖?

更改此选项:

$fh = fopen($txt, 'w'); 
为此:

$fh = fopen($txt, 'a');

它将附加数据与写入数据(添加与覆盖)

在调用
fopen
时,您需要与
w
不同的模式

有关所有选项,请参见


此外,您应该始终检查从
fopen
返回的数据是否成功。

您似乎正在使用fwrite()函数覆盖文件


如果您使用的是file\u put\u contents()函数,则不需要使用fopen()、fwrite()和fclose()函数。

是的,所有时间都是一个新的输出,我需要一个不覆盖的输出。在找到答案后,请不要删除帖子的所有内容。这可以防止其他人从你的错误中吸取教训。我已经为您回滚了编辑。很好的列表谢谢您的提示:)