[PHP-users 6681] Re: ファイルの読み込み
Arai Junya
php-users@php.gr.jp
Thu, 4 Apr 2002 20:27:05 +0900 (JST)
こんばんは。じゅんやです。
>ファイルサイズが明確ではないため(2)のfgets関数を使う方 が
>メモリの使用量が少なくてすむ気がするのでこちらを使おう
と思>っています。
>
> (1)file("/tmp/hoge.txt");
> (2)fgets($fp, 100);
ファイルサイズが明確でない場合は、1のfile()関数のほうが
よいのではないでしょうか?
file()関数だと各行が配列として帰ってくるので処理が楽だと
思います。
メモリの使用量が少なくてすむ気が・・・
ということで、fgetsをお使いになるとのことですが、
こちらはファイルフォーマットが決まっている場合の
方が効果を発揮すると考えます。
行の最大サイズが決まっていないからといって、
でたらめに大きな数字を与えるとかえってメモリを消費する
ような気がしますが・・・?
私の場合は、CSV形式など区切りのあるファイルは、
file()関数を使用しています。処理が楽なので。
逆にfgetsを使用するときは、各行に区切り文字がない
固定長ファイルなどの時に使用しています。
しかしながら、どちらの場合もファイルフォーマットは
決まっていてどの位置に何のデータがあるかわかっています。
ファイルを処理するスクリプトを記述する場合、
”最大サイズはわからない”としないで確定してから
進めたほうがよいと思います。
参考になれば幸いです。^^
__________________________________________________
Do You Yahoo!?
Yahoo! BB is Broadband by Yahoo!
http://bb.yahoo.co.jp/