(PHP 5 >= 5.1.2, PECL pdo_pgsql:1.0.1-1.0.2)
PDO::pgsqlLOBOpen — Ouvre un flux existant de large objet
PDO::pgsqlLOBOpen() ouvre un flux pour accéder aux données référencées par oid . Si mode est r, le flux est ouvert en lecture, si mode est w, alors le flux sera ouvert en écriture. Vous pouvez utilisez toutes les fonctions usuelles de système de fichiers, comme fread(), fwrite() et fgets() pour manipuler le contenu du flux.
Note: Cette fonction, ainsi que toutes les manipulations sur l'objet large, doit être appelée et exécutée à l'intérieur d'une transaction.
Un identifiant d'objet large
Si le mode est r, ouverture du flux en lecture. Si le mode est w, ouverture du flux en écriture.
Retourne une ressource de flux en cas de succès ou FALSE en cas d'échec.
Exemple #1 Exemple avec PDO::pgsqlLOBOpen()
Suivant l'exemple de PDO::pgsqlLOBCreate(), cet partie de code récupère l'objet large de la base de données et l'affiche au navigateur.
<?php
$db = new PDO('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', $lob, PDO::PARAM_LOB);
$stmt->fetch(PDO::FETCH_BOUND);
fpassthru($lob);
?>