PHP 7.0.6 Released

pg_lo_tell

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

pg_lo_tell Returns current seek position a of large object

Description

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.

Parameters

large_object

PostgreSQL large object (LOB) resource, 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.

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($handle50000PGSQL_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

Changelog

Version Description
5.6.0 Added PostgreSQL 9.3's 64bit large object support. Both client and server must support PostgreSQL 9.3 and PHP must be 64bit build to use 64bit large object.

See Also

User Contributed Notes

Marv-CZ
5 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