PHP Conference Japan 2024

pg_lo_tell

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

pg_lo_tell 傳回大型物件的目前搜尋位置

說明

pg_lo_tell(PgSql\Lob $lob): int

pg_lo_tell() 傳回大型物件的目前位置(從開頭算起的偏移量)。

要使用大型物件介面,必須將其包含在一個事務區塊內。

參數

lob

一個 PgSql\Lob 實例,由 pg_lo_open() 返回。

返回值

從大型物件開頭算起的目前搜尋偏移量(以位元組為單位)。如果發生錯誤,則傳回值為負數。

更新日誌

版本 說明
8.1.0 lob 參數現在需要一個 PgSql\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($handle, 50000, PGSQL_SEEK_SET);
// 查看我們跳過了多遠
$offset = pg_lo_tell($handle);
echo
"搜尋位置為: $offset";
pg_query($database, "commit");
?>

以上範例將輸出

Seek position is: 50000

參見

新增註解

使用者貢獻的註解 1 則註解

Marv-CZ
14 年前
取得大型物件大小的函式

<?php
函式 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;
}
?>
To Top