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

# 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() - ラージオブジェクトのカレントのシーク位置を返す