downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

pg_lo_unlink> <pg_lo_seek
[edit] Last updated: Fri, 10 Feb 2012

view this page in

pg_lo_tell

(PHP 4 >= 4.2.0, PHP 5)

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

説明

int pg_lo_tell ( resource $large_object )

pg_lo_tell() は、ラージオブジェクトのカレントの位置 (先頭からのオフセット)を返します。

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

パラメータ

large_object

pg_lo_open() が返す PostgreSQL の ラージオブジェクト(LOB)リソース。

返り値

ラージオブジェクトの先頭からのカレントのシーク位置(バイト数)を返します。 エラーが発生した場合は、負の数を返します。

例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($handle50000PGSQL_SEEK_SET);
   
// どれだけスキップしたのかを調べる
   
$offset pg_lo_tell($handle);
   echo 
"Seek position is: $offset";
   
pg_query($database"commit");
?>

上の例の出力は以下となります。

Seek position is: 50000

参考

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



add a note add a note User Contributed Notes pg_lo_tell
Marv-CZ 15-Nov-2010 03:26
Function to take a large object size:

<?php
function pg_lo_size ($lo) {
 
$pos = pg_lo_tell ($lo);
 
pg_lo_seek ($lo, 0, PGSQL_SEEK_END);
 
$size = pg_lo_tell ($lo);
 
pg_lo_seek ($lo, $pos, PGSQL_SEEK_SET);
  return
$size;
}
?>

 
show source | credits | stats | sitemap | contact | advertising | mirror sites