streamWrapper::stream_seek

(PHP 4 >= 4.3.2, PHP 5, PHP 7, PHP 8)

streamWrapper::stream_seek在流中查找特定位置

说明

public streamWrapper::stream_seek(int $offset, int $whence = SEEK_SET): bool

此方法响应 fseek() 调用。

流的读/写位置应根据 offsetwhence 更新。

参数

offset

要查找的流偏移量。

whence

可能的值

  • SEEK_SET - 将位置设置为 offset 字节。
  • SEEK_CUR - 将位置设置为当前位置加上 offset
  • SEEK_END - 将位置设置为文件末尾加上 offset

注意: 当前实现从不将 whence 设置为 SEEK_CUR;相反,此类查找在内部转换为 SEEK_SET 查找。

返回值

如果位置已更新,则返回 true,否则返回 false

注释

注意:

如果未实现,则假定返回值为 false

注意:

成功后,在调用 streamWrapper::stream_seek() 后会直接调用 streamWrapper::stream_tell()。 如果 streamWrapper::stream_tell() 失败,则调用函数的返回值将设置为 false

注意:

并非所有对流的查找操作都会导致调用此函数。 PHP 流默认启用了读缓冲(另见 stream_set_read_buffer()),并且查找可以通过简单地移动缓冲区指针来完成。

参见

  • fseek() - 在文件指针上查找

添加注释

用户贡献的注释 1 个注释

fb at tigermedia dot dk
10 年前
请注意,此函数的返回值为布尔值,但 fseek 的返回值为 0 表示成功,-1 表示失败。

在处理文件时,请使用此实现

function stream_seek($offset, $whence) {
if(0 === fseek($this->_handler, $offset, $whence)){
return true;
}
return false;
}
To Top