我的PHP脚本将覆盖localhost上的现有输出。这是我的代码:
$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);
}
如何防止覆盖?
答案 0 :(得分:2)
改变这个:
$fh = fopen($txt, 'w');
对此:
$fh = fopen($txt, 'a');
将附加数据与写入数据(添加与覆盖)。
答案 1 :(得分:1)
在w
的通话中,您需要的模式与fopen
不同。
有关您的所有选项,请参阅http://www.php.net/manual/en/function.fopen.php。
此外,您应该始终检查fopen
的回复,看看是否成功。
答案 2 :(得分:0)
您似乎正在使用fwrite()函数覆盖文件。
如果使用file_put_contents()函数,则无需使用fopen(),fwrite()和fclose()函数。