pg_lo_tell
(PHP 4 >= 4.2.0, PHP 5, PHP 7)
pg_lo_tell — ラージオブジェクトのカレントのシーク位置を返す
説明
pg_lo_tell
( resource $large_object
) : int
pg_lo_tell() は、ラージオブジェクトのカレントの位置 (先頭からのオフセット)を返します。
ラージオブジェクトインターフェイスは、トランザクションブロックの中で 使用する必要があります。
返り値
ラージオブジェクトの先頭からのカレントのシーク位置(バイト数)を返します。 エラーが発生した場合は、負の数を返します。
例
例1 pg_lo_tell() の例
<?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); // どれだけスキップしたのかを調べる $offset = pg_lo_tell($handle); echo "Seek position is: $offset"; pg_query($database, "commit");?>
上の例の出力は以下となります。
Seek position is: 50000
変更履歴
バージョン | 説明 |
---|---|
5.6.0 | PostgreSQL 9.3 以降での 64 ビットラージオブジェクトに対応しました。
これを使うには、クライアントとサーバーがいずれも PostgreSQL 9.3 以降であることと、 PHP が 64 ビット版であることが必要です。 |