fseek
(PHP 4, PHP 5, PHP 7, PHP 8)
fseek — 在文件指针中定位
说明
$handle
, int $offset
, int $whence
= SEEK_SET
) : int
在与
handle
关联的文件中设定文件指针位置。
新位置从文件头开始以字节数度量,是以
whence
指定的位置加上
offset
。
In general, it is allowed to seek past the end-of-file; if data is then written, reads in any unwritten region between the end-of-file and the sought position will yield bytes with value 0. However, certain streams may not support this behavior, especially when they have an underlying fixed size storage.
参数
-
handle
-
文件系统指针,是典型地由 fopen() 创建的 resource(资源)。
-
offset
-
偏移量。
要移动到文件尾之前的位置,需要给
offset
传递一个负值,并设置whence
为SEEK_END
。 -
whence
-
whence
values are:SEEK_SET
- 设定位置等于offset
字节。SEEK_CUR
- 设定位置为当前位置加上offset
。SEEK_END
- 设定位置为文件尾加上offset
。
返回值
成功则返回 0;否则返回 -1。注意移动到 EOF 之后的位置不算错误。
范例
示例 #1 fseek() 例子
<?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
或a+
),任何写入文件数据都会被附加上去,而文件的位置将会被忽略,调用 fseek() 的结果尚未定义。
注意:
Not all streams support seeking. For those that do not support seeking, forward seeking from the current position is accomplished by reading and discarding data; other forms of seeking will fail.