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;
}
?>
pg_lo_tell
(PHP 4 >= 4.2.0, PHP 5)
pg_lo_tell — Returns current seek position a of large object
Descripción
int pg_lo_tell
( resource
$large_object
)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.
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.
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($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");
?>
El resultado del ejemplo sería:
Seek position is: 50000
