[PHP-users 27054] Re: File I/O

tome34 nito @ a2.mbn.or.jp
2005年 10月 3日 (月) 20:02:05 JST


取敢えずクリアできました。
ご回答戴いた方々、ありがとう御座いました。

> 1. fgetsで取得した行には末尾に改行文字がついていると思います。それをつけ
> たままfwriteでさらに改行を追加しているのがいけないのではないでしょうか。

そうでした。
最近他の言語でもシーケンシャルファイルを扱う事が無かったんでEOFのタイミング
を外したロジックで組み立てておりました。
それに気がつかず「なんで、なんで」という状況でした、、

> 2. データを取得した時点で改行を\nに統一したほうがいいのではないでしょう
> か(winの\r\nを\nに、macの\rを\nに変換)。そのほうが以降の操作で考えること
> が少なくてすむと思います。

一度書き込んだデータは表示で使うだけですので結局下記のようにしました。
EReg_Replace("\r\n|\r|\n", "<br>", $w_msg);    

> 4. fopenのr+とw+の+は下記のソースでは必要ないと思います。

何も考えず「+」があっても問題ないなっと思い「+」をつけてました。

> PearのFileとかどうでしょう?もうちょっと簡単にコーディングできると思います。

必要なものは自分で使いやすいように関数作って使った方がいいかなっと思って
まして、今のところPearは使ってません、、、
そう言うの溜まると大体コピペ+多少のアレンジで済むので、、、
PGの実サイズもその方がコンパクトになるような、、、、
違った考えもあるとは思いますが!!




PHP-users メーリングリストの案内