• ベストアンサー

fopen()関数

こんにちは。 PHPで、fopen()関数を使用し、別ファイルにでーたを保存しているのですが、 fopen ("ファイル名", "a"); とやると、ファイルに追記されますよね。 この追記を、ファイルの一番最初に行いたいのです。 一番最初に書き込みをできるということで、 fopen ("ファイル名", "r+"); なども試してみたのですが、 その追記された文字数だけ最初側の文字が消えてしまい、追記は無理でした。 rewind()関数も使用したのですが、ダメでした。 何方か、ファイルの最初に、既に書き込まれている文字を消さずに追記する方法をご教授くだされば幸いです。

質問者が選んだベストアンサー

  • ベストアンサー
  • hukazuo
  • ベストアンサー率32% (36/111)
回答No.2

$lines = file("ファイル名"); $fp = fopen("ファイル名","w"); fputs($fp,書き込み内容); for($i = 0; $i < 99; $i++) fputs($fp, $lines[$i]); fclose ($fp); でいけると思います。 一度ファイルに書き込み内容を書いてから、 今までのデータを再び書き込むといった感じです。

ri19960913
質問者

お礼

ありがとうございます! 最初に保存させることができました! 本当にありがとうございます。感謝です!

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • php504
  • ベストアンサー率42% (926/2160)
回答No.1

基本的なファイル操作ではファイルの先頭や途中に挿入という高度な機能は使えません。 現在のファイル内容を全て読み込んで記憶し追加データを書き出した後に記憶したデータを追記することになります。

ri19960913
質問者

お礼

アドバイス、ありがとうございます!

すると、全ての回答が全文表示されます。