好的,所以当我使用a +一切正常时,创建新行并编写代码但是当我使用r +时它会替换第一行而不是创建新行。如何在不更换的情况下添加一行?
当我决定添加\ n(添加新行)时。它也只会替换新行,所以没有必要添加\ n或\ r \ n。看看你的代码
$demo = $_POST['demo'];
$text = $_POST['text '];
$name = $_POST['name'];
$address = $_POST['address'];
$fp = fopen('../../include/item.accessory.php', 'r+') or exit("Unable to open file!");
fseek($fp, 0, SEEK_SET); //MOVES THE CURSOR 0 PLACES FROM START OF THE FILE
fwrite($fp, $_POST["demo"]);
fwrite($fp, $_POST["text"]);
fwrite($fp, $_POST["name"]);
fwrite($fp, $_POST["address"]);
fclose($fp);
任何想法我可能在做什么?
答案 0 :(得分:1)
请参阅http://us3.php.net/manual/en/function.fopen.php上的文档,具体来说:
'r +'开放阅读和写作;将文件指针放在文件的开头。
和
'a +'开放阅读和写作;将文件指针放在文件的 end 。如果该文件不存在,请尝试创建它。
这告诉你这是标准行为。
如果您希望在文件开头添加内容,请执行以下操作:
$content = $newcontent.file_get_contents($path_to_file);
file_put_contents($path_to_file, $content);
在您的具体情况下,您可以这样做:
$newcontent = "$_POST[demo] $_POST[text] $_POST[name] $_POST[address]";
$content = $newcontent.file_get_contents($path_to_file);
file_put_contents($path_to_file, $content);