为什么要删除文件的内容?

时间:2017-03-17 03:03:36

标签: php

我已经对这个错误感到恼火,我已经尝试解决它,但这对我来说是一场挣扎。所以我有一个php文件写入.txt文件,但是当我输入不同的信息时,它会替换文件中已有的信息,但我不希望它这样做。我想要它添加。帮助

<?php
$filenum = echo rand();
$info = $_GET["info"]; //You have to get the form data
$file = fopen('$filenum.txt', 'w+'); //Open your .txt file
$content = $info. PHP_EOL .$gain. PHP_EOL .$offset;
fwrite($file , $content); //Now lets write it in there
fclose($file ); //Finally close our .txt
die(header("Location: ".$_SERVER["HTTP_REFERER"]));

&GT?;

2 个答案:

答案 0 :(得分:2)

我不知道解决方案,但我建议你看看你正在打开的文件格式,我认为它应该是&#39; a +&#39;或类似的东西,打开文件附加而不是&#39; w +&#39;。我还没有使用过很多PHP,但我认为情况就是这样

答案 1 :(得分:1)

您正在使用w+模式,文档清楚地说明了:

  

开放阅读和写作;将文件指针放在文件的开头,将文件截断为零长度。如果该文件不存在,请尝试创建它。

如果您想要追加,请使用aa+

顺便说一句,我还不确定你为什么要使用w+而不只是w,因为你从来没有读过这个文件。

此外,您可以使用file_put_contents()

在一个语句中完成所有操作
$filenum = rand();
$info = $_GET['info'];
$content = $info . PHP_EOL . $gain . PHP_EOL . $offset . PHP_EOL;
file_put_contents("$filenum.txt", $content, FILE_APPEND);
die(header("Location: " . $_SERVER['HTTP_REFERER']));

请注意,PHP_EOL末尾应该有$content。否则,每次添加到文件时,它都将与您之前添加的最后一行在同一行开始。