fgets
| 解説 | ファイルから1行取得する |
|---|---|
| 書式 | string fgets( resource handle [, int length ] ) |
string fgets( resource ファイルポインタ [, int 長さ ] ) |
|
| 引数 |
handle
ファイルポインタ
|
length
長さ
|
|
| 返値 | ファイルポインタから読み出した文字列/FALSE(ファイルが終端に達したかエラーの場合) |
fgets()は指定したファイルから内容を1行読み込む関数です。
第1引数のファイルポインタ(handle)で指定したファイルポインタから、第2引数分のの長さ(length)-1バイト分読み込み、その文字列を返します。読み込みはlength-1バイト読み込んだか、改行文字(返り値に含まれる)に達したか、EOF(ファイルの終端)に達したかのいずれかまで行います。
正しく取得できた場合は取得した文字列を返し、ファイルポインタは次の行へと移動します。エラーが起こるとFALSEを返します。
handleファイルポインタ読み込みたいファイルへのファイルポインタを指定します。
length長さ読み込みたい長さを指定します。実際に読み込む長さは、「指定した長さ -1 バイト」分です。省略した場合のデフォルト値は1kまたは1024バイトとなります。
第2引数のlengthはPHP4.2.0からオプションとなりました。
※ファイル名ではなく、ファイルポインタを指定する事に注意して下さい。ファイルポインタはfopen()関数やfsockopen()関数で正常に開かれたファイルでなければいけません。
※注意したいのは1行しか読み込まない事です。1行であってもlengthバイト数以上のデータサイズは読み取りません。例えば fgets( $fp, 10 ); とした場合、$fpの9バイトめまでしか読み取りません。
参考関数
サンプルスクリプト
簡単な利用例
- $handle = fopen("somefile.php", "r");
- // ファイルの1行目を表示する(1024バイト未満)
- echo fgets( $handle );
- fclose( $handle );
ファイルの内容をすべて出力
- $fp = fopen("somefile.txt", "r");
- while( ! feof($fp) ) {
- $buffer = fgets( $fp, 4096 );
- echo $buffer;
- }
- fclose ($fp);





