我一直在尝试编写一个简单的PHP脚本,它添加两个数字并将结果附加到文本文件中。这是代码
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" type="text/css" href="style.css">
<title>RESULT PAGE</title>
</head>
<body>
<h4>Number 1 is <?php echo $_POST['num1']; ?></h4>
<h4>Number 2 is <?php echo $_POST['num2']; ?></h4>
<h3>The result of adding above numbers is <?php
$num1=$_POST['num1'];
$num2=$_POST['num2'];
$result=$num1 + $num2;
file_put_contents("test.txt",$result,FILE_APPEND);
echo $result;
?></h3>
</body>
</html>
每当执行脚本时,都会替换先前的数据,而不是将数据添加到新行。 我目前正在使用UBUNTU 12.04 LTS。
答案 0 :(得分:0)
我非常怀疑.. FILE_APPEND
的目的是将数据附加到文件而不是覆盖它。
嗯,它对我来说很好。尝试与 LOCK_EX
file_put_contents("test.txt",$result,FILE_APPEND|LOCK_EX);
答案 1 :(得分:0)
要将值附加为换行符,您需要在写入文件时发送两个转义的换行符参数,如下所示:
file_put_contents("test.txt",$result . "\n\n",FILE_APPEND);
否则它们将被写入同一行(文件的最后一行)。
如果这没有帮助,请确保检查文件权限以确保apache(或您的任何网络服务器组)具有写入权限。
答案 2 :(得分:-1)
或者你可以尝试这个,
$fp = fopen('somefile.txt', 'w');
fseek($fp, SEEK_END);//places pointer to the end.
fwrite($fp, $results);
&GT;