pg_lo_seek

ラージオブジェクトの位置をシークする

説明

bool pg_lo_seek(PgSql\Lob $lob, int $offset, int $whence = SEEK_CUR)

pg_lo_seekPgSql\Lob インスタンスの位置をシークします。

ラージオブジェクトインターフェイスは、トランザクションブロックの中で 使用する必要があります。

パラメータ

lob

pg_lo_open が返した PgSql\Lob クラスのインスタンス。

offset

シークするバイト数。

whence

定数 PGSQL_SEEK_SET(オブジェクトの先頭からシークする)、 PGSQL_SEEK_CUR(カレントの位置からシークする)、 あるいは PGSQL_SEEK_END(オブジェクトの最後からシークする) の中のひとつ。

戻り値

成功した場合に true を、失敗した場合に false を返します。

変更履歴

バージョン 説明
8.1.0 lob は、PgSql\Lob クラスのインスタンスを期待するようになりました。 これより前のバージョンでは、リソース を期待していました。

例1 pg_lo_seek の例

<?php
   $doc_oid = 189762345;
   $database = pg_connect("dbname=jacarta");
   pg_query($database, "begin");
   $handle = pg_lo_open($database, $doc_oid, "r");
   // 最初の 50000 バイトをスキップする
   pg_lo_seek($handle, 50000, PGSQL_SEEK_SET);
   // 次の 10000 バイトを読み込む
   $data = pg_lo_read($handle, 10000);
   pg_query($database, "commit");
   echo $data;
?>

参考

  • pg_lo_tell