PHP 8.4.0 RC4 available for testing

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

Description

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.

Parameters

lob

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

Return Values

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.

Changelog

Version Description
8.1.0 The lob parameter expects an PgSql\Lob instance now; previously, a resource was expected.

Examples

Example #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");
?>

The above example will output:

Seek position is: 50000

See Also

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