10秒目をつむったら…

PHPで外部ファイルにfwiteで追加書き込みを行うときに改行して下に下に書き込んでいくのが普通だと思いますが、上に上に書き込むためにはどのようにすればいいのでしょうか?
また上述の方法が大変なら外部ファイルを一番下の行から読み込む方法を教えて頂けますでしょうか?
よろしくお願い致します。

A 回答 (2件)

rewindが利用できると思います。


rewindはファイルポインタの位置を先頭に戻す関数です。

PHPマニュアルより引用
>bool rewind ( resource $handle )
>handle のファイル位置指示子を、 ファイルストリームの先頭にセットします。

ファイルを開く
$file = fopen(ファイル名,"r+");
ポインタを先頭にする
rewind($file);
ファイルに書き込む
fwrite($file,書き込む内容);

という形で利用すれば先頭に書き込むことが可能だと思います。

参考URL:http://php.mirror.camelnetwork.com/manual/ja/fun …
    • good
    • 0

一般的な方法がどうなのか分かりませんが、


前者はfwrite()とfile_get_contents()を利用すれば出来ます。
file_get_contents()にて全てのファイルデータを取得し、
それに追加したい文字列を連結させ、
fwrite()(オープンモードは'w'か'w+')で文字列を書き込む。

後者は、file()を利用してファイルデータを配列として取得して
一番最後の添え字のデータから順に読み込む事で実現できます。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!