pg_lo_seek
(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)
pg_lo_seek — Setzt die Lese- oder Schreibposition in einem Large Object
Beschreibung
pg_lo_seek() setzt den internen Zeiger einer PgSql\Lob-Instanz auf die angegebenen Position.
Um die Large Object (lo) Schnittstelle benutzen zu können, müssen die Kommandos innerhalb einer Transaktion ausgeführt werden.
Parameter-Liste
-
lob
-
Eine PgSql\Lob-Instanz, die von 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) oderPGSQL_SEEK_END
(bewegt den internen Zeiger vom Ende ausgehend).
Rückgabewerte
Gibt bei Erfolg true
zurück. Bei einem Fehler wird false
zurückgegeben.
Changelog
Version | Beschreibung |
---|---|
8.1.0 |
Der Parameter lob erwartet nun eine PgSql\Lob-Instanz;
vorher wurde eine Ressource erwartet.
|
Beispiele
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;
?>