PHP feof() 函数读文件的使用

PHP feof() 函数读文件的使用

(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.