0

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);

私がラングをやっているかもしれないアイデアはありますか?

4

1 に答える 1

1

具体的には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);
于 2013-11-07T20:57:30.417 に答える