(PHP 4, PHP 5)
feof — 測試文件指針是否到了文件結束的位置
如果服務器沒有關閉由 fsockopen() 所打開的連接,feof() 會一直等待直到超時而返回TRUE。默認的超時限制是 60 秒,可以使用 stream_set_timeout() 來改變這個值。
文件指針必須是有效的,必須指向由 fopen() 或fsockopen() 成功打開的文件(並還未由fclose() 關閉)。
如果傳遞的文件指針無效可能會陷入無限循環中,因為 EOF 不會返回 TRUE。
Example #1 使用無效文件指針的 feof() 例子
<?php
// 如果文件不可讀取或者不存在,fopen 函數返回 FALSE
$file = @fopen("no_such_file", "r");
// 來自 fopen 的 FALSE 會發出一條警告信息並在這裡陷入無限循環
while (!feof($file)) {
}
fclose($file);
?>
<?php
$file = fopen($_SERVER['DOCUMENT_ROOT']."/me/test.txt", "r");
//輸出文本中所有的行,直到文件結束為止。
while(! feof($file))
{
echo fgets($file). "<br />";
}
fclose($file);
?>
輸出:
Hello, this is a test file.
There are three lines here.
This is the last line.