php fgets() 函数从文件指针中读取一行。
它的语法是:
fgets(file,length)
参数 | 描述 |
---|---|
file | 必需。规定要读取的文件。 |
length | 可选。规定要读取的字节数。默认是 1024 字节。 |
从 file 指向的文件中读取一行并返回长度最多为 length - 1 字节的字符串。碰到换行符(包括在返回值中)、EOF 或者已经读取了 length - 1 字节后停止(要看先碰到那一种情况)。如果没有指定 length,则默认为 1K,或者说 1024 字节。
若失败,则返回 false。
注释:length 参数从 PHP 4.2.0 起成为可选项,如果忽略,则行的长度被假定为 1024 字节。从 PHP 4.3 开始,忽略掉 length将继续从流中读取数据直到行结束。如果文件中的大多数行都大于 8 KB,则在脚本中指定最大行的长度在利用资源上更为有效。
注释:从 PHP 4.3 开始本函数可以安全用于二进制文件。早期的版本则不行。
注释:如果碰到 PHP 在读取文件时不能识别 Macintosh 文件的行结束符,可以激活 auto_detect_line_endings 运行时配置选项。
下面我们举个例子讲述如何一行行读取一个文件。
假设我们有一个 sites.txt 文件,该文件有三行,内容如下:
woyouxian.com blabla.cn google.com
sites.txt 的文件路径是:
C:\blabla\php\sites.txt
我们用 PHP 一行行读取文件内容,PHP代码如下:
<html> <body> <?php $f= fopen("C:\\blabla\\php\\sites.txt","r"); while (!feof($f)) { $line = fgets($f); echo "site: ",$line,"<br />"; } fclose($f); ?> </body> </html>
执行该 PHP 文件,返回的显示结果是:
site: woyouxian.com site: blabla.cn site: google.com
该 PHP 代码的第一行是打开文件,最后一行是关闭一个文件。当中的 while 循环语句表示,当文件没有结束,就读取一行,循环执行,直到文件指针到文章末尾为止。
feof
函数是PHP 的一个内置函数,用来测试文件指针是否已经到了文件末尾。如果是返回 TRUE,如果不是,返回 FALSE。eof 的英文意思就是 end of file,很容易记。
正常情况下,fgets
函数的返回值是一个字符串,如果出错,返回 FALSE。
以上がPHP 組み込み関数 fgets を使用してファイル内容の行を読み取る - Krepsの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。