有时我们需要一种方法来移动当前文件指针的位置,以便从特定的位置读写文件。PHP同样提供了一些这样的函数。
最简单的一个是rewind(),它把指针移到文件的头部:int rewind($fp);
唯一的参数是文件句柄。成功返回true,失败返回false。
要把文件指针移动到一个指定的位置,我们用fseek()函数:
int fseek(int fp, int offset) ; fp当然是文件句柄了,offset是从文件头算起的字符的个数(偏移量)。注意fseek()函数有点特别:成功返回0,失败返回-1 ,比如:
fseek($file, 1); 它把文件指针移到文件的第一个字符的后面。
当然,我们还要知道当前的文件指针的位置,可以用ftell( )函数来实现:
int ftell(int fp); 它简单地返回句柄为f p的文件当前的指针位置,如:
fseek($file, ftell($file)+20); 这把指针移到当前位置后2 0个字符的位置上。
另一个用有的函数是feof ( ),它表明了当前位置是否在文件尾:
int feof(int fp) ; 若在文件尾则返回真,否则返回false。
下面这个函数常用来遍历一个文件:
<?php
if (!$file*fopen("text.txt","r")){
echo ("Couldn't open file");
} else {
while(!feof($file)) { //循环到feof()函数为真
echo(fgetc($file));
}
}
?>