PHP fseek 文件系统函数

  • 定义和用法

    fseek - 在文件指针中定位
  • 版本支持

    PHP4 PHP5 PHP7
    支持 支持 支持
  • 语法

    fseek ( resource $handle , int $offset [, int $whence = SEEK_SET ] )   
    
    在与 handle 关联的文件中设定文件指针位置。 新位置从文件头开始以字节数度量,是以 whence 指定的位置加上 offset。
    通常,它允许查找文件末尾。如果随后写入数据,则在文件末尾和查找到的位置之间的任何未写入区域中进行读取都会产生值为0的字节。但是,某些流可能不支持此行为,尤其是当它们具有基本的固定大小存储时。
  • 参数

    参数 必需的 描述
    handle 文件指针必须是有效的,必须指向由 fopen() 成功打开的文件(并还未由 fclose() 关闭)。
    offset 偏移量。 要移动到文件尾之前的位置,需要给 offset 传递一个负值,并设置 whence 为 SEEK_END。
    whence whence 值有:
    • SEEK_SET - 设定位置等于 offset 字节。
    • SEEK_CUR - 设定位置为当前位置加上 offset。
    • SEEK_END - 设定位置为文件尾加上 offset。
  • 返回值

    成功则返回 0;否则返回 -1。注意移动到 EOF 之后的位置不算错误。
  • 示例

    <?php
    $fp = fopen('somefile.txt', 'r');
    
    // 读取一些数据
    $data = fgets($fp, 4096);
    
    // 移回文件开头
    // 等于重新读取文件
    fseek($fp, 0);
    ?>
    
  • 相关函数

    ftell() - 返回文件指针读/写的位置
    rewind() - 倒回文件指针的位置