Pdo\Pgsql::lobOpen

(PHP 8 >= 8.4.0)

Pdo\Pgsql::lobOpenAbre um fluxo de objetos grandes existente

Descrição

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

Pdo\Pgsql::lobOpen() abre um fluxo para acessar os dados referenciados por oid. Todas as funções usuais do sistema de arquivos, como fread(), fwrite() ou fgets() podem ser usadas para manipular o conteúdo do fluxo.

Nota: Esta função e todas as manipulações de objeto grande devem ser chamadas e executadas dentro de uma transação.

Parâmetros

oid
Um identificador de objeto grande.
mode
Se mode for r, abra o stream para leitura. Se mode for w, abra o fluxo para escrita.

Valor Retornado

Retorna um recurso de fluxo em caso de sucesso, ou false em caso de falha.

Exemplos

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

Seguindo o exemplo de Pdo\Pgsql::lobCreate(), este trecho de código recupera o objeto grande do banco de dados e o envia para o 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);
?>

Veja Também

adicione uma nota

Notas Enviadas por Usuários (em inglês)

Não há notas de usuários para esta página.
To Top