PHP 8.5.0 Alpha 2 available for testing

Pdo\Pgsql::lobOpen

(PHP 8 >= 8.4.0)

Pdo\Pgsql::lobOpenAbre un flujo sobre un objeto grande existente

Descripción

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

Pdo\Pgsql::lobOpen() abre un flujo para acceder a los datos referenciados por oid. Todas las funciones habituales del sistema de ficheros, tales como fread(), fwrite() o fgets() pueden ser utilizadas para manipular el contenido del flujo.

Nota: Esta función, y todas las manipulaciones del objeto grande, deben ser llamadas y realizadas dentro de una transacción.

Parámetros

oid
Un identificador de objeto grande.
mode
Si el modo es r, abre el flujo en lectura. Si el modo es w, abre el flujo en escritura.

Valores devueltos

Devuelve un recurso de flujo en caso de éxito, o false si ocurre un error

Ejemplos

Ejemplo #1 Ejemplo de Pdo\Pgsql::lobOpen()

Según el ejemplo de Pdo\Pgsql::lobCreate(), este código extrae el objeto grande de la base de datos y lo devuelve al navegador.

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

Ver también

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top