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() - ファイルポインタを移動する

add a note add a note

User Contributed Notes 1 note

up
2
fb at tigermedia dot dk
7 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