Ouvre un flux sur un objet large existant

# Pdo\Pgsql::lobOpen

(PHP 8 >= 8.4.0)

Pdo\Pgsql::lobOpen — Ouvre un flux sur un objet large existant

### Description

public function 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`
  Le mode d'accès. Si `mode` contient `w` ou `+`, le flux est ouvert en lecture et en écriture ; sinon, il est ouvert en lecture seule. Un indicateur `b` (binaire) n'a aucun effet. La valeur par défaut `"rb"` ouvre le flux en lecture.

### 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([$some_id]);
    $stmt->bindColumn('oid', $oid, PDO::PARAM_STR);
    $stmt->fetch(PDO::FETCH_BOUND);
    $stream = $db->lobOpen($oid, 'r');
    header("Content-type: application/octet-stream");
    fpassthru($stream);
    ?>

### Voir aussi

- Pdo\Pgsql::lobCreate() - Créer un nouvel objet large
- Pdo\Pgsql::lobUnlink() - Supprime un objet large
- pg_lo_create() - Crée un objet de grande taille PostgreSQL
- pg_lo_open() - Ouvre un objet de grande taille PostgreSQL

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open