用 PHP 内置函数 fgets 读取文件一行内容 - 克莱普斯

怪我咯
怪我咯 原创
2023-03-13 13:30:01 1405浏览

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 读取文件一行内容 - 克莱普斯的详细内容,更多请关注php中文网其它相关文章!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。