PDO::pgsqlLOBOpen
Ouvre un flux existant de large objet
&reftitle.description;
public resourcefalsePDO::pgsqlLOBOpen
stringoid
stringmode"rb"
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.
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.
&reftitle.parameters;
oid
Un identifiant d'objet large
mode
Si le mode est r, ouverture du flux en lecture.
Si le mode est w, ouverture du flux en écriture.
&reftitle.returnvalues;
Retourne une ressource de flux en cas de succès&return.falseforfailure;.
&reftitle.examples;
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.
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);
?>
]]>
&reftitle.seealso;
PDO::pgsqlLOBCreate
PDO::pgsqlLOBUnlink
pg_lo_open