pg_lo_tell

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

pg_lo_tell Returns current seek position a of large object

Descrição

pg_lo_tell(PgSql\Lob $lob): int

pg_lo_tell() returns the current position (offset from the beginning) of a large object.

To use the large object interface, it is necessary to enclose it within a transaction block.

Parâmetros

lob

Uma instância de PgSql\Lob, retornada por pg_lo_open().

Valor Retornado

The current seek offset (in number of bytes) from the beginning of the large object. If there is an error, the return value is negative.

Registro de Alterações

Versão Descrição
8.1.0 O parâmetro lob agora espera uma instância de PgSql\Lob; anteriormente, um resource era esperado.

Exemplos

Exemplo #1 pg_lo_tell() example

<?php
$doc_oid
= 189762345;
$database = pg_connect("dbname=jacarta");
pg_query($database, "begin");
$handle = pg_lo_open($database, $doc_oid, "r");
// Skip first 50000 bytes
pg_lo_seek($handle, 50000, PGSQL_SEEK_SET);
// See how far we've skipped
$offset = pg_lo_tell($handle);
echo
"Seek position is: $offset";
pg_query($database, "commit");
?>

O exemplo acima produzirá:

Seek position is: 50000

Veja Também

add a note add a note

User Contributed Notes 1 note

up
0
Marv-CZ
13 years ago
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;
}
?>
To Top