(PHP 4 >= 4.2.0, PHP 5)
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;
?>