(PHP 4 >= 4.2.0, PHP 5, PHP 7)
pg_lo_tell — Gibt die aktuelle Lese- oder Schreibposition in einem Large Object zurück
$large_object
) : intpg_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.
large_object
PostgreSQL Large Object Ressource (LOB), die von der Funktion pg_lo_open() zurückgegeben wurde.
Die aktuelle Lese- oder Schreibposition in einem (in Bytes) vom Anfang des Large Objects aus. Falls ein Fehler auftritt, ist der Rückgabewert negativ.
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($handle, 50000, PGSQL_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
Version | Beschreibung |
---|---|
5.6.0 | Unterstützung für 64bit große Objekte von PostgreSQL 9.3 wurde hinzugefügt. Sowohl Client als auch Server müssen PostgreSQL 9.3 unterstützen, und PHP muss ein 64bit Build sein, um 64bit große Objekte verwenden zu können. |