PHP Conference Nagoya 2025

streamWrapper::stream_seek

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

streamWrapper::stream_seekSeeks to specific location in a stream

说明

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

This method is called in response to fseek().

The read/write position of the stream should be updated according to the offset and whence.

参数

offset

The stream offset to seek to.

whence

Possible values:

  • SEEK_SET - Set position equal to offset bytes.
  • SEEK_CUR - Set position to current location plus offset.
  • SEEK_END - Set position to end-of-file plus offset.

注意: The current implementation never sets whence to SEEK_CUR; instead such seeks are internally converted to SEEK_SET seeks.

返回值

Return true if the position was updated, false otherwise.

注释

注意:

If not implemented, false is assumed as the return value.

注意:

Upon success, streamWrapper::stream_tell() is called directly after calling streamWrapper::stream_seek(). If streamWrapper::stream_tell() fails, the return value to the caller function will be set to false.

注意:

Not all seeks operations on the stream will result in this function being called. PHP streams have read buffering enabled by default (see also stream_set_read_buffer()) and seeking may be done by merely moving the buffer pointer.

参见

  • fseek() - 在文件指针中定位

添加备注

用户贡献的备注 1 note

up
3
fb at tigermedia dot dk
10 years ago
Please notice that the return value of this function is a boolean but the return value of fseek is 0 for ok and -1 for failure.

Please use this implementation when working with files:

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