Php 是否保存文本输出而不覆盖?
我的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
$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()函数。是的,所有时间都是一个新的输出,我需要一个不覆盖的输出。在找到答案后,请不要删除帖子的所有内容。这可以防止其他人从你的错误中吸取教训。我已经为您回滚了编辑。很好的列表谢谢您的提示:)