[PHP-users 11734] Re: 簡単なbbs を作ったのですが

Masaaki Kikuzawa php-users@php.gr.jp
Sun, 24 Nov 2002 08:52:39 +0900


菊澤 です。

稲田さんのおっしゃる通り
ftruncateで残りの部分を削ってやる必要があります。

書き込み時、ファイルをr+モードで開いているので、
現在のファイルサイズより、書き込んだ後のファイルサイズが
小さくなる場合、余った部分には、現在のファイルが残ります。
そのせいかと思います。

On Sun, 24 Nov 2002 06:22:30 +0900
Hidetaka Inada <united@pp.iij4u.or.jp> wrote:
> 取りあえずデータをファイルに出力する前に、
> ftruncate ($fp,0);
> を加えるといいかもしれません。

ただ、福田さんの提示されている例では、データごっそり
消えてしまいましたので、多分こんな感じかと
    for ($i = 0;$i<$count;$i++){
        fwrite ($fp,$buf[$i] . "\n");
    }
    // 残りの部分を削除
    ftruncate($fp, ftell($fp));
    flock ($fp,3);
    fclose ($fp);
思われます。

以上

--------------------------------------------
菊澤 正明 mailto:kikuzawa@coo-co-ltd.co.jp
(株)空 Coo co.,ltd. http://www.coo-cyber.com