PDO::pgsqlLOBOpen
(PHP 5 >= 5.1.2, PECL pdo_pgsql >= 1.0.2)
PDO::pgsqlLOBOpen — Ouvre un flux existant de large objet
Description
$oid
[, string $mode
= "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.
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.
Liste de paramètres
-
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.
Valeurs de retour
Retourne une ressource de flux en cas de succès ou FALSE
si une erreur survient.
Exemples
Exemple #1 Exemple avec PDO::pgsqlLOBOpen()
<?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', $oid, PDO::PARAM_STR); $stmt->fetch(PDO::FETCH_BOUND); $stream = $db->pgsqlLOBOpen($oid, 'r'); header("Content-type: application/octet-stream"); fpassthru($stream); ?>
Voir aussi
- PDO::pgsqlLOBCreate() - Crée un nouvel objet large
- PDO::pgsqlLOBUnlink() - Supprime un objet large
- pg_lo_open() - Ouvre un objet de grande taille PostgreSQL