PHP 8.4.2 Released!

Pdo\Pgsql::lobOpen

(PHP 8 >= 8.4.0)

Pdo\Pgsql::lobOpenOuvre un flux sur un objet large existant

Description

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

Pdo\Pgsql::lobOpen() ouvre un flux pour accéder aux données référencées par oid. Toutes les fonctions de système de fichiers habituelles, telles que fread(), fwrite() ou fgets() peuvent être utilisées pour manipuler le contenu du flux.

Note: Cette fonction, et toutes les manipulations de l'objet large, doivent être appelées et effectuées dans une transaction.

Liste de paramètres

oid
Un identifiant d'objet large.
mode
Si le mode est r, ouvre le flux en lecture. Si le mode est w, ouvre le flux en écriture.

Valeurs de retour

Renvoie une ressource de flux en cas de succès, ou false si une erreur survient

Exemples

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

D'après l'exemple de Pdo\Pgsql::lobCreate(), ce code extrait l'objet large de la base de données et le renvoie au navigateur.

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

Voir aussi

add a note

User Contributed Notes

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