ファイルシステム関数
Home >> PHP関数リファレンス >> ファイルシステム関数 >> fgets

ファイルシステム関数

解説 ファイルから1行取得する
書式 string fgets( resource handle [, int length ] )
string fgets( resource ファイルポインタ [, int 長さ ] )
引数 handle ファイルポインタ
length 長さ
返値 ファイルポインタから読み出した文字列/FALSE(ファイルが終端に達したかエラーの場合)

PHPマニュアル:ファイルシステム関数 fgets()

fgets()関数:概略解説

fgets()は、指定したファイルから内容を1行読み込む関数です。

第1引数のファイルポインタ(handle)で指定したファイルポインタから、第2引数分のの長さ(length)-1バイト分読み込み、その文字列を返します。読み込みはlength-1バイト読み込んだか、改行文字(返り値に含まれる)に達したか、EOF(ファイルの終端)に達したかのいずれかまで行います。

fgets()関数:返り値解説

正しく取得できた場合は取得した文字列を返し、ファイルポインタは次の行へと移動します。エラーが起こるとFALSEを返します。

fgets()関数:引数解説

handle ファイルポインタ

読み込みたいファイルへのファイルポインタを指定します。

length 長さ

読み込みたい長さを指定します。実際に読み込む長さは、「指定した長さ -1 バイト」分です。省略した場合のデフォルト値は1kまたは1024バイトとなります。

fgets()関数:補足解説

第2引数のlengthはPHP4.2.0からオプションとなりました。

fgets()関数:注意

ファイル名ではなく、ファイルポインタを指定する事に注意して下さい。ファイルポインタはfopen()関数やfsockopen()関数で正常に開かれたファイルでなければいけません。

注意したいのは1行しか読み込まない事です。1行であってもlengthバイト数以上のデータサイズは読み取りません。例えば
fgets( $fp, 10 );
とした場合、$fpの9バイトめまでしか読み取りません。

参考関数

  • fgetss() ---- ファイルポインタから1行取得してHTMLタグを取り除く
  • fgetc() ---- ファイルから1バイトずつ文字を取得する
  • fread() ---- ファイルをバイナリ・モードで読み込む
  • fopen() ---- ファイルまたはURLを開く

サンプルスクリプト

簡単な利用例

<?php
$handle
= fopen("somefile.php", "r");

// ファイルの1行目を表示する(1024バイト未満)
echo fgets( $handle );

fclose( $handle );
?>

ファイルの内容をすべて出力

<?php
$fp
= fopen("somefile.txt", "r");
while( !
feof($fp) ) {
  
$buffer = fgets( $fp, 4096 );
  echo
$buffer;
}
fclose ($fp);
?>

参考関数

  • fopen() ---- ファイルまたはURLを開く
  • feof() ---- ファイルの終端に達しているかどうか調べる
  • fclose() ---- ファイルポインタを閉じる