# 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

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

### Siehe auch

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

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open