[PHP-users 6686] Re: ファイルの読み込み
KOYAMA Tetsuji
php-users@php.gr.jp
Fri, 05 Apr 2002 00:32:31 +0900
小山です。
At Thu, 04 Apr 2002 22:23:59 +0900,
naoki kishida wrote:
> fgets($fp,$len)
> のときに、必ず$lenバイト確保されるわけでなくて、改行コードが来るまで or
> $lenバイト読みこむということなので、$lenに大きい数字を指定してもむだなメ
> モリ消費はないはずです。
ところがどっこい。
In ext/standard/file.c
1015: buf = emalloc(sizeof(char) * (len + 1));
1016: /* needed because recv doesnt put a null at the end*/
1017: memset(buf, 0, len+1);
ということで len + 1 バイト確保されちゃってるようです。
本当にメモリ消費量を押さえたいなら、fread() で細かく自分で読み込むの
がよろしいかと。
--
小山 哲志@ビート・クラフト
koyama@beatcraft.com
koyama@hoge.org