[PHP-users 6687] Re: ファイルの読み込み
BAC
php-users@php.gr.jp
Fri, 05 Apr 2002 00:51:25 +0900
BACです。
On Thu, 04 Apr 2002 22:23:59 +0900
naoki kishida <kishida@fk.urban.ne.jp> wrote:
> fgets($fp,$len)
> のときに、必ず$lenバイト確保されるわけでなくて、改行コードが来るまで or
> $lenバイト読みこむということなので、$lenに大きい数字を指定してもむだなメ
> モリ消費はないはずです。
functions/file.c より抜粋(php-3.0.18ですが)。
buf = emalloc(sizeof(char) * (len + 1));
/* needed because recv doesnt put a null at the end*/
memset(buf,0,len+1);
if ((issock?SOCK_FGETS(buf,len,socketd):fgets(buf,len,fp)) == NULL) {
efree(buf);
RETVAL_FALSE;
} else {
......
内部動作について知りたければソースを読むべきです。せっかくオープンソー
スなのにソースを読まないのはもったいない話です。
#と書いていたら、すでに小山さんがPHP4のソースを示されてますね・・・。
----------
BAC (bac@dev-nul.com)