PHP feof()関数

定義と用法

feof()関数はファイルの最後まで到達したかどうかを検出します(eof)。

ファイルポインタがEOFに達したか、エラーが発生した場合にTRUEを返し、他の場合はエラー(ソケットタイムアウトを含む)を返します。

文法

feof(file)
パラメータ 説明
file 必須。チェックする必要があるオープンファイルを指定します。

説明

file パラメータはファイルポインタです。このファイルポインタは有効で、 fopen() またはfsockopen()が成功して開いた(まだ閉じられていない) fclose() 閉じた)のファイル。

ヒントとコメント

ヒント:feof()関数は、長さが未知のデータを巡回するのに非常に役立ちます。

注意:サーバーがfsockopen()で開いた接続を閉じない場合、feof()は常にタイムアウトまで待ち、TRUEを返します。デフォルトのタイムアウト制限は60秒ですが、stream_set_timeout()を使用してこの値を変更できます。

注意:ファイルポインタが無効の場合、EOFがTRUEを返さないため、無限ループに陥ることがあります。

<?php
$file = fopen("test.txt", "r");
//テキスト中のすべての行を出力し、ファイルの終わりまでまでです。
while(! feof($file))
  {
  echo fgets($file). "<br />";
  }
fclose($file);
?>

出力:

こんにちは、これはテストファイルです。 
ここには三行あります。 
これは最後の行です。