fseek
fseek
(PHP 4, PHP 5, PHP 7)
fseek - 寻找文件指针
描述
int fseek ( resource $handle , int $offset [, int $whence = SEEK_SET ] )
为引用的文件设置文件位置指示符handle
。新位置,从文件开始以字节为单位测量,通过添加offset
到指定的位置获得whence
。
一般来说,它可以通过查找文件结束; 如果写入数据,则读取文件结束和查找位置之间的任何未写入区域将产生值为0的字节。但是,某些流可能不支持此行为,尤其是当它们具有基础固定大小存储时。
参数
handle
通常使用fopen()创建的文件系统指针资源。
offset
偏移量。
要移到文件结束之前的某个位置,您需要传递一个负值offset
并将其设置whence
为SEEK_END
。
whence
whence
值是:
SEEK_SET
- 设置位置等于offset
字节。
SEEK_CUR
- 将位置设置为当前位置offset
。
SEEK_END
- 将位置设置为文件结束加offset
。
返回值
成功后,返回0; 否则,返回-1。
例子
Example #1 fseek() example
<?php
$fp = fopen('somefile.txt', 'r'
// read some data
$data = fgets($fp, 4096
// move back to the beginning of the file
// same as rewind($fp
fseek($fp, 0
?>
注意
注意
:如果以a
ppend(a
或a +
)模式打开文件,则无论文件位置如何,写入文件的任何数据都将被追加,并且调用fseek()
的结果将不确定。
注意
:并非所有流都支持搜索。对于那些不支持寻求的人,通过阅读和丢弃数据来实现从当前位置向前寻求; 其他形式的寻求将失败。