从文件中读取特定位置的数据,请看下面实例.

test.txt文件内容如下:

manongjc.com
java
css
php
html
css3
 
mysql

从第八个字符开始读取文件,代码如下:

<?php
  $myfile = \"./test.txt\";
  $openfile = fopen ($myfile, \"r\") or die (\"Couldn\'t open the file\");

  $filesize =filesize($myfile);
  fseek ($openfile, 8);
  $sp_data = fread ($openfile, ($filesize - 8)) ;
  /* http://www.manongjc.com/article/1381.html */
  print $sp_data;
?>

运行结果如下:

.com java css php html css3   mysql

 

下面我们看一下fseek()函数的基本语法:

fseek — 在文件指针中定位

语法:

int fseek ( resource $handle , int $offset [, int $whence = SEEK_SET ] )

在与 handle 关联的文件中设定文件指针位置。 新位置从文件头开始以字节数度量,是以 whence 指定的位置加上 offset。 

参数:

  1. handle 文件系统指针,是典型地由 fopen() 创建的 resource(资源)。
  2. offset 偏移量。要移动到文件尾之前的位置,需要给 offset 传递一个负值,并设置 whence 为 SEEK_END。
  3. $whence 可能的值:
    SEEK_SET - 设定位置等于 offset。默认。
    SEEK_CUR - 设定位置为当前位置加上 offset。
    SEEK_END - 设定位置为文件末尾(EOF)加上 offset(要移动到文件末尾之前的位置,offset 必须是一个负值)。

返回值:

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

收藏 打印