PHP Doku:: Gibt die aktuelle Lese- oder Schreibposition in einem Large Object zurück - function.pg-lo-tell.html

Verlauf / Chronik / History: (27) anzeigen

Sie sind hier:
Doku-StartseitePHP-HandbuchFunktionsreferenzDatenbankerweiterungenAnbieterspezifische DatenbankerweiterungenPostgreSQLPostgreSQL-Funktionenpg_lo_tell

Ein Service von Reinhard Neidl - Webprogrammierung.

PostgreSQL-Funktionen

<<pg_lo_seek

pg_lo_unlink>>

pg_lo_tell

(PHP 4 >= 4.2.0, PHP 5)

pg_lo_tell Gibt die aktuelle Lese- oder Schreibposition in einem Large Object zurück

Beschreibung

int pg_lo_tell ( resource $large_object )

pg_lo_tell() gibt die aktuelle Position (Offset vom Anfang des Large Objects aus) des internen Zeigers zurück.

Um die Large Object (lo) Schnittstelle benutzen zu können, müssen die Kommandos innerhalb einer Transaktion ausgeführt werden.

Parameter-Liste

large_object

PostgreSQL Large Object Ressource (LOB), die von der Funktion pg_lo_open() zurückgegeben wurde.

Rückgabewerte

Die aktuelle Lese- oder Schreibposition in einem (in Bytes) vom Anfang des Large Objects aus. Falls ein Fehler auftritt, ist der Rückgabewert negativ.

Beispiele

Beispiel #1 pg_lo_tell() Beispiel

<?php
   $doc_oid 
189762345;
   
$database pg_connect("dbname=jacarta");
   
pg_query($database"begin");
   
$handle pg_lo_open($database$doc_oid"r");
   
// Überspringe die ersten 50000 Bytes
   
pg_lo_seek($handle50000PGSQL_SEEK_SET);
   
// Test, wieviele Bytes übersprungen wurden
   
$offset pg_lo_tell($handle);
   echo 
"Die aktuelle Position ist: $offset";
   
pg_query($database"commit");
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Die aktuelle Position ist: 50000

Siehe auch

  • pg_lo_seek() - Setzt die Lese- oder Schreibposition in einem Large Object


Ein BenutzerBeitrag:
- Beiträge aktualisieren...
Marv-CZ
16.11.2010 7:26
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;
}
?>



PHP Powered Diese Seite bei php.net
The PHP manual text and comments are covered by the Creative Commons Attribution 3.0 License © the PHP Documentation Group - Impressum - mail("TO:Reinhard Neidl",...)