在php文件操作函数中,有一个函数可以用于文件指针定位,该函数是fseek(),关于该函数的描述,我们看一下php手册是怎么说的。

fseek() 函数在打开的文件中定位。

该函数把文件指针从当前位置向前或向后移动到新的位置,新位置从文件头开始以字节数度量。

如果成功该函数返回 0,如果失败则返回 -1。请注意,移动到文件末尾(EOF)之后的位置不会产生错误。

语法

fseek(file,offset,whence)

参数

参数 描述
file 必需。规定要在其中定位的文件。
offset 必需。规定新的位置(从文件头开始以字节数度量)。
whence 可选。(PHP 4 中新增的)。 可能的值:
  • SEEK_SET - 设定位置等于 offset。默认。
  • SEEK_CUR - 设定位置为当前位置加上 offset。
  • SEEK_END - 设定位置为文件末尾(EOF)加上 offset(要移动到文件末尾之前的位置,offset 必须是一个负值)。

 

从上面描述可知,我们可以使用该函数来实现读取文件的部分类容,具体实现代码如下:

<?php
    $filename = \"data.txt\";
    $fp = fopen( $filename, \"r\" ) or die(\"Couldn\'t open $filename\");
    $fsize = filesize($filename);
    $halfway = (int)( $fsize / 2 );
    /* http://www.manongjc.com/article/1388.html */
    print \"Halfway point: $halfway <br/>\\n\";
    fseek( $fp, $halfway );
    $chunk = fread( $fp, ($fsize - $halfway) );
    print $chunk;
?>
收藏 打印