PHP fgets 文件系统函数

  • 定义和用法

    fgets - 从文件指针中读取一行
  • 版本支持

    PHP4 PHP5 PHP7
    支持 支持 支持
    4.3.0 fgets() 开始二进制安全
    4.2.0 length 参数成为可选。
  • 语法

    fgets ( resource $handle [, int $length ] )   
    
  • 参数

    参数 必需的 描述
    handle 一个由 fopen()popen()fsockopen() 产生的有效文件指针。
    length 从 handle 指向的文件中读取一行并返回长度最多为 length - 1 字节的字符串。碰到换行符(包括在返回值中)、EOF 或者已经读取了 length - 1 字节后停止(看先碰到那一种情况)。如果没有指定 length,则默认为 1K,或者说 1024 字节。
    注意: 从 PHP 4.3 开始,忽略掉 length 则行的长度被假定为 1024,将继续从流中读取数据直到行结束。如果文件中的大多数行都大于 8KB,则在脚本中指定最大行的长度在利用资源上更为有效。
  • 返回值

    从指针 handle 指向的文件中读取了 length - 1 字节后返回字符串。 如果文件指针中没有更多的数据了则返回 FALSE。 错误发生时返回 FALSE。
  • 示例

    <?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);
    }
    ?>
    
  • 相关函数

    fgetss() - 从文件指针中读取一行并过滤掉 HTML 标记
    fread() - 读取文件(可安全用于二进制文件)
    fgetc() - 从文件指针中读取字符
    stream_get_line() - 从资源流里读取一行直到给定的定界符
    fopen() - 打开文件或者 URL
    popen() - 打开进程文件指针
    fsockopen() - 打开一个网络连接或者一个Unix套接字连接
    stream_set_timeout() - 在流上设置超时时间