Pdo\Pgsql::lobOpen

Opens an existing large object stream

&reftitle.description; public ``resource``false```Pdo\Pgsql::lobOpen` `string` `oid` `string` `mode`"rb"

`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.

&reftitle.parameters;

`oid`

- A large object identifier.

`mode`

- If mode is `r`, open the stream for reading. If mode is `w`, open the stream for writing.

&reftitle.returnvalues;

Returns a stream resource on success,&return.falseforfailure;.

&reftitle.errors;

When does this function issue `E_*` level errors, and/or throw Exceptions.

&reftitle.examples;

### `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(array($some_id));
    $stmt->bindColumn('oid', $oid, PDO::PARAM_STR);
    $stmt->fetch(PDO::FETCH_BOUND);
    $stream = $db->pgsqlLOBOpen($oid, 'r');
    header("Content-type: application/octet-stream");
    fpassthru($stream);
    ?>

&reftitle.seealso;

- `Pdo\Pgsql::lobCreate`
- `Pdo\Pgsql::lobUnlink`
- `pg_lo_create`
- `pg_lo_open`