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(PgSql\Lob$lob, int$offset, int$whence = SEEK_CUR): bool

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) oder PGSQL_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

VersionBeschreibung
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;
?>

Siehe auch

  • pg_lo_tell() - Liefert die aktuelle Lese- oder Schreibposition in einem Large Object
To Top