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 ビット版であることが必要です。 |