PHP 5.6.0beta1 released

pg_lo_tell

(PHP 4 >= 4.2.0, PHP 5)

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

See Also

add a note add a note

User Contributed Notes 1 note

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