Php/docs/function.pg-lo-seek

提供:Dev Guides
< Php
移動先:案内検索

pg_lo_seek

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

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


説明

pg_lo_seek ( resource $large_object , int $offset [, int $whence = PGSQL_SEEK_CUR ] ) : bool

pg_lo_seek() はラージオブジェクトリソースの位置を シークします。

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


パラメータ

large_object
pg_lo_open() が返す PostgreSQL の ラージオブジェクト(LOB)リソース。
offset
シークするバイト数。
whence
定数 PGSQL_SEEK_SET(オブジェクトの先頭からシークする)、 PGSQL_SEEK_CUR(カレントの位置からシークする)、 あるいは PGSQL_SEEK_END(オブジェクトの最後からシークする) の中のひとつ。


返り値

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


例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;?>

変更履歴

バージョン 説明
5.6.0 PostgreSQL 9.3 以降での 64 ビットラージオブジェクトに対応しました。

これを使うには、クライアントとサーバーがいずれも PostgreSQL 9.3 以降であることと、 PHP が 64 ビット版であることが必要です。


参考

  • pg_lo_tell() - ラージオブジェクトのカレントのシーク位置を返す