(PHP 4, PHP 5)
feof — ファイルポインタがファイル終端に達しているかどうか調べる
ファイルポインタがファイル終端に達しているかどうかを調べます。
ファイルポインタは、有効なファイルポインタである必要があり、 fopen() または fsockopen() で正常にオープンされた (そしてまだ fclose() でクローズされていない) ファイルを指している必要があります。
ファイルポインタが EOF に達しているかまたはエラー (ソケットタイムアウトを含みます) の場合に TRUE 、 その他の場合に FALSE を返します。
もし fsockopen() でオープンされた接続がサーバによって 閉じられていない場合、feof() はタイムアウトになるまで待ち、TRUE を返します。 デフォルトのタイムアウト値は 60 秒です。この値を変更するには stream_set_timeout() を使用します。
無効なファイルポインタを渡した場合、無限ループに陥ることがあります。 なぜなら EOF が TRUE を返すことができないからです。
例1 feof() に無効なファイルポインタを使用する例
<?php
// ファイルを読み込めなかったりファイルが存在しなかったりした場合、
// fopen 関数は FALSE を返します。
$file = @fopen("no_such_file", "r");
// fopen からの FALSE が警告を発生させ、ここで無限ループとなります。
while (!feof($file)) {
}
fclose($file);
?>