首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

fgets

(PHP 4, PHP 5, PHP 7)

fgets - 从文件指针获取行

描述

代码语言:javascript
复制
string fgets ( resource $handle [, int $length ] )

从文件指针获取一行。

参数

handle

文件指针必须是有效的,并且必须指向由fopen()或fsockopen()(并且尚未由fclose()关闭)成功打开的文件。

length

当读取length1个字节或换行符(包含在返回值中)或EOF(以先到者为准)时读取结束。如果没有指定长度,它将继续读取流,直到到达行尾。

注意:在PHP 4.3.0之前,省略它将假定1024作为行长度。如果文件中的大部分行都大于8KB,则脚本指定最大行长度会更节约资源。

返回值

返回长度最长的字符串 - 从句柄指向的文件中读取1个字节。 如果在文件指针中没有更多数据要读取,则返回FALSE。

如果发生错误,则返回FALSE

更新日志

版本

描述

4.3.0

fgets()现在是二进制安全的

例子

示例#1逐行读取文件

代码语言:javascript
复制
<?php
$handle = @fopen("/tmp/inputfile.txt", "r");
if ($handle) {
    while (($buffer = fgets($handle, 4096)) !== false) {
        echo $buffer;
    }
    if (!feof($handle)) {
        echo "Error: unexpected fgets() fail\n";
    }
    fclose($handle);
}
?>

注意

注意:如果PHP在读取Macintosh计算机上创建的文件或由Macintosh计算机创建文件时未正确识别行结束,启用auto_detect_line_endings运行时配置选项可能有助于解决问题。

注意:习惯了fgets()的'C'语义的人应该注意EOF如何返回的区别。

扩展内容

  • fgetss() - 从文件指针获取行并去除HTML标签
  • fread() - 读取二进制安全文件
  • fgetc()- 从文件指针获取字符
  • stream_get_line() - 从流资源获取直到给定分隔符的行
  • fopen() - 打开文件或URL
  • popen() - 打开进程文件指针
  • fsockopen() - 打开Internet或Unix域套接字连接
  • stream_set_timeout() - 设置流上的超时时间

← fgetcsv

fgetss →

扫码关注腾讯云开发者

领取腾讯云代金券