PHP 5.4.36 Released

pg_lo_tell

(PHP 4 >= 4.2.0, PHP 5)

pg_lo_tell Retourne la position courante dans un objet de grande taille PostgreSQL

Description

int pg_lo_tell ( resource $large_object )

pg_lo_tell() retourne la position courante (à partir du début) du pointeur de lecture sur l'objet de grande taille large_object.

Pour utiliser une interface avec un objet de grande taille, il est nécessaire de l'inclure dans un bloc de transaction.

Liste de paramètres

large_object

Ressource objet de grande taille (LOB) PostgreSQL retournée par pg_lo_open().

Valeurs de retour

La position courante du pointeur (en nombre d'octets) à partir du début de l'objet de grande taille. S'il y a une erreur, la valeur retournée sera négative.

Exemples

Exemple #1 Exemple avec pg_lo_tell()

<?php
   $doc_oid 
189762345;
   
$database pg_connect("dbname=jacarta");
   
pg_query($database"begin");
   
$handle pg_lo_open($database$doc_oid"r");
   
// Saute les 50000 premiers octets
   
pg_lo_seek($handle50000PGSQL_SEEK_SET);
   
// On vérifie combien d'octets nous avons sauté
   
$offset pg_lo_tell($handle);
   echo 
"Position du pointeur est : $offset";
   
pg_query($database"commit");
?>

L'exemple ci-dessus va afficher :

Position du pointeur est : 50000

Historique

Version Description
5.6.0 Ajoute le support des objetslarges 64 bit en PostgreSQL 9.3. À la fois le client et le serveur doivent supporter PostgreSQL 9.3 et PHP doit avoir été compilé en 64 bit pour utiliser les objets larges 64 bit.

Voir aussi

  • pg_lo_seek() - Modifie la position dans un objet de grande taille

add a note add a note

User Contributed Notes 1 note

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