(PHP 4 >= 4.2.0, PHP 5, PHP 7)
pg_lo_seek — Setzt die Lese- oder Schreibposition in einem Large Object
$large_object
, int $offset
[, int $whence
= PGSQL_SEEK_CUR
] )pg_lo_seek() setzt den internen Zeiger einer Large Object Ressource auf die angegebenen Position.
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.
offset
Die Anzahl der Bytes, hinter die der interne Zeiger gesetzt wird.
whence
Eine der Konstanten PGSQL_SEEK_SET
(bewegt den
internen Zeiger vom Anfang ausgehend),
PGSQL_SEEK_CUR
(bewegt den internen Zeiger ab
der aktuellen Position) oder
PGSQL_SEEK_END
(bewegt den internen Zeiger vom
Ende ausgehend).
Gibt bei Erfolg TRUE
zurück. Im Fehlerfall wird FALSE
zurückgegeben.
Beispiel #1 pg_lo_seek() Beispiel
<?php
$doc_oid = 189762345;
$database = pg_connect("dbname=jacarta");
pg_query($database, "begin");
$handle = pg_lo_open($database, $doc_oid, "r");
// Die ersten 50000 Bytes ueberspringen
pg_lo_seek($handle, 50000, PGSQL_SEEK_SET);
// Die naechsten 10000 Bytes lesen
$data = pg_lo_read($handle, 10000);
pg_query($database, "commit");
echo $data;
?>
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. |