Opens an existing large object stream

# Pdo\Pgsql::lobOpen

(PHP 8 >= 8.4.0)

Pdo\Pgsql::lobOpen — Opens an existing large object stream

### Beschreibung

public function Pdo\Pgsql::lobOpen(string `$oid`, string `$mode` = "rb"): resource|false

Pdo\Pgsql::lobOpen() opens a stream to access the data referenced by `oid`. All usual filesystem functions, such as fread(), fwrite() or fgets() can be used to manipulate the contents of the stream.

> Hinweis: This function, and all manipulations of the large object, must be called and carried out within a transaction.

### Parameter-Liste

`oid`
  A large object identifier.
`mode`
  The access mode. If `mode` contains `w` or `+`, the stream is opened for reading and writing; otherwise it is opened for reading only. A `b` (binary) flag has no effect. The default `"rb"` opens the stream for reading.

### Rückgabewerte

Returns a stream resource on success,Bei einem Fehler wird `false` zurückgegeben..

### Beispiele

Beispiel #1 Pdo\Pgsql::lobOpen() example

Following on from the Pdo\Pgsql::lobCreate() example, this code snippet retrieves the large object from the database and outputs it to the browser.

    <?php
    $db = new Pdo\Pgsql('pgsql:dbname=test host=localhost', $user, $pass);
    $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $db->beginTransaction();
    $stmt = $db->prepare("SELECT oid FROM BLOBS WHERE ident = ?");
    $stmt->execute([$some_id]);
    $stmt->bindColumn('oid', $oid, PDO::PARAM_STR);
    $stmt->fetch(PDO::FETCH_BOUND);
    $stream = $db->lobOpen($oid, 'r');
    header("Content-type: application/octet-stream");
    fpassthru($stream);
    ?>

### Siehe auch

- Pdo\Pgsql::lobCreate() - Creates a new large object
- Pdo\Pgsql::lobUnlink() - Deletes the large object
- pg_lo_create() - Erzeugt ein Large Object
- pg_lo_open() - Öffnet ein Large Object

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