好的 所以当我使用 a+ 时一切正常,创建新行并编写代码,但当我使用 r+ 时,它会替换第一行而不是创建新行。 如何在不替换的情况下添加行?
当我决定添加'(添加新行)时,它也只会替换新行,因此添加'或''r'是没有意义的。 看看你的代码
$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);
知道我可能会做什么吗?
请参阅 http://us3.php.net/manual/en/function.fopen.php 的文档,特别是:
"r+"打开以进行读取和写入;将文件指针放在文件的开头。
和
"a+"打开以进行读取和写入;将文件指针放在文件的末尾。如果该文件不存在,请尝试创建它。
这告诉您这是标准行为。
如果您希望在文件开头添加内容,请执行以下操作:
$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);