PHP没有写入文件。只需追加0(零)

时间:2014-09-02 17:31:41

标签: php file-io fwrite

当我使用以下代码将字符串附加到文件时,它只会附加零。

我可以确保cookie已正确设置,因为我使用if条件进行检查,然后我这样做来写fule:

$file = 'leaderboard.txt';
$txt = "" + $_COOKIE["user"] + "\n";
file_put_contents($file, $txt, FILE_APPEND | LOCK_EX);

我也尝试了这个:

$myfile2 = fopen("leaderboard.txt", "a") or die("Unable to open file!");
$txt = "" + $_COOKIE["user"] + "\n";
fwrite($myfile2, $txt);

除了将0附加到文件之外,没有其他方法。

2 个答案:

答案 0 :(得分:2)

使用

$file='leaderboard.txt';
$txt=$_COOKIE["user"] . "\n";
file_put_contents($file, $txt, FILE_APPEND | LOCK_EX);

+是加法,.用于连接。

答案 1 :(得分:2)

为了理解0输出,你必须意识到PHP会进行隐式类型转换,这会导致奇怪的意外行为。由于您使用的是数学运算符,即+,而不是字符串连接运算符.,因此字符串都被转换为数字,在您的情况下始终为零,而不是抛出错误。

但只是为了它的乐趣尝试

echo 5 + "3 beers"

它将导致8,因为字符串被强制转换为整数3。