PDO::pgsqlLOBOpen
Abre un flujo de un objeto grande existente
&reftitle.description;
public resourcePDO::pgsqlLOBOpen
stringoid
stringmode"rb"
PDO::pgsqlLOBOpen obre un flujo para acceder a los datos
a los que hace referencia oid. Si mode
es r, el flujo será abierto para lectura; si
mode es w, el flujo será
abierto para escritura. Se pueden utilizar todas las funciones de sistema de ficheros usuales,
tales como fread, fwrite y
fgets, para manipular el contenido del flujo.
Esta función, y todas las manipulaciones del objeto grande,
debe ser invocada y realizada dentro de una transacción.
&reftitle.parameters;
oid
Un identificador de objeto grande.
mode
Si el modo es r, se abre el flujo para lectura.
Si el modo es w, se abre el flujo para escritura.
&reftitle.returnvalues;
Devuelve un recurso de flujo en caso de éxito &return.falseforfailure;.
&reftitle.examples;
Un ejemplo de PDO::pgsqlLOBOpen
Siguiendo el ejemplo de PDO::pgsqlLOBCreate,
este trozo de código recupera el objeto grande de
la base de datos y lo envía al navegador.
setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$bd->beginTransaction();
$sentencia = $bd->prepare("select oid from BLOBS where ident = ?");
$sentencia->execute(array($some_id));
$sentencia->bindColumn('oid', $oid, PDO::PARAM_STR);
$sentencia->fetch(PDO::FETCH_BOUND);
$flujo = $bd->pgsqlLOBOpen($oid, 'r');
header("Content-type: application/octet-stream");
fpassthru($flujo);
?>
]]>
&reftitle.seealso;
PDO::pgsqlLOBCreate
PDO::pgsqlLOBUnlink
pg_lo_open