PostgreSQL (PDO)
PHP Manual

PDO::pgsqlLOBOpen

(PHP 5 >= 5.1.2, PECL pdo_pgsql >= 1.0.2)

PDO::pgsqlLOBOpenOpens an existing large object stream

Descrição

public resource PDO::pgsqlLOBOpen ( string $oid [, string $mode = "rb" ] )

PDO::pgsqlLOBOpen() opens a stream to access the data referenced by oid. If mode is r, the stream is opened for reading, if mode is w, then the stream will be opened for writing. You can use all the usual filesystem functions, such as fread(), fwrite() and fgets() to manipulate the contents of the stream.

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

Parâmetros

oid

A large object identifier.

mode

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

Valor Retornado

Returns a stream resource on success ou FALSE em caso de falha.

Exemplos

Exemplo #1 A PDO::pgsqlLOBOpen() example

Following on from the PDO::pgsqlLOBCreate() example, this code snippet retrieves the large object from the database and outputs it to the browser.

<?php
$db 
= new PDO('pgsql:dbname=test host=localhost'$user$pass);
$db->setAttribute(PDO::ATTR_ERRMODEPDO::ERRMODE_EXCEPTION);
$db->beginTransaction();
$stmt $db->prepare("select oid from BLOBS where ident = ?");
$stmt->execute(array($some_id));
$stmt->bindColumn('oid'$oidPDO::PARAM_STR);
$stmt->fetch(PDO::FETCH_BOUND);
$stream $db->pgsqlLOBOpen($oid'r');
header("Content-type: application/octet-stream");
fpassthru($stream);
?>

Veja Também


PostgreSQL (PDO)
PHP Manual