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($handle50000PGSQL_SEEK_SET);
   
// 次の 10000 バイトを読み込む
   
$data pg_lo_read($handle10000);
   
pg_query($database"commit");
   echo 
$data;
?>

参考

  • pg_lo_tell