PHP マニュアル
前のページ |  | 次のページ

# fgets

(PHP 3, PHP 4 , PHP 5)

fgets -- ファイルポインタから1行取得する

## 説明

string fgets ( resource handle [, int length])

`handle`で指定したファイルポインタから最大length-1バイト読み出し、その 文字列を返します。読み出しは、length-1バイト読み出したか、(返り値 に含まれる)改行文字を検出したか、EOFに達したかのいずれかが起こっ た時点で終了します。lengthが指定されない場合、デフォルトは1kまた は1024バイトとなります。

エラーが起こった場合、`FALSE`を返します。

陥りやすい罠:

C言語のfgetsの動作に慣れている人は、`EOF`を返す条件の違いについて 注意する必要があります。

ファイルポインタは有効なものでなければならず、また fopen()、popen()、 fsockopen()で正常にオープンされたファイルを 指している必要があります。

簡単な例を以下に示します。

例 1. 行毎にファイルを読み込む

`$handle = fopen ("/tmp/inputfile.txt", "r"); while (!feof ($handle)) { $buffer = fgets($handle, 4096); echo $buffer; } fclose ($handle);`

> 注意: `length`パラメータは、PHP 4.2.0でオプション となりました。もし省略された場合、行の長さを1024と仮定します。 PHP4.3以降では、`length`が省略されると 行の終わりに達するまでストリームを読み続けます。 もしもファイル内の行の多くが8KBを超えている場合、 行の長さの最大値を特定するためにスクリプトはリソースの影響を より大きく受けることになります。

fread(), fopen(), popen(), fgetc(), fsockopen(), socket_set_timeout() も参照下さい。

前のページ | ホーム | 次のページ
fgetcsv | 上に戻る | fgetss