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

Descripción

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

An PgSql\Lob instance, returned by pg_lo_open().

Valores devueltos

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.

Historial de cambios

Versión Descripción
8.1.0 The lob parameter expects an PgSql\Lob instance now; previously, a recurso was expected.

Ejemplos

Ejemplo #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($handle50000PGSQL_SEEK_SET);
   
// See how far we've skipped
   
$offset pg_lo_tell($handle);
   echo 
"Seek position is: $offset";
   
pg_query($database"commit");
?>

El resultado del ejemplo sería:

Seek position is: 50000

Ver también

add a note add a note

User Contributed Notes 1 note

up
0
Marv-CZ
11 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