# pg_lo_open

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

pg_lo_open — Ouvre un objet de grande taille PostgreSQL

### Description

pg_lo_open(PgSql\Connection `$connection`, int `$oid`, string `$mode`): PgSql\Lob|false

pg_lo_open() ouvre un objet large dans la base de donnée et retourne une instance de PgSql\Lob pour qu'il puisse être manipulé.

Avertissement

Ne fermer pas la connexion à la base de données avant de fermer l'instance PgSql\Lob.

Pour utiliser un objet de grande taille (`lo`), il est nécessaire de le faire dans une transaction.

> Note:

> Auparavant, cette fonction s'appelait pg_loopen().

### Liste de paramètres

`connection`

  Une instance PgSql\Connection. Quand `connection` est pas spécifié, la connexion par défaut est utilisé. La connexion par défaut est la dernière connexion faite par pg_connect() ou pg_pconnect()

  Avertissement

  À partir de PHP 8.1.0, utiliser la connexion par défaut est obsolète.

`oid`

  Le OID de l'objet de grande taille dans la base de données.

`mode`

  Peut être "r" pour lecture seule, "w" pour écriture seule ou "rw" pour lecture et écriture.

### Valeurs de retour

Une instance PgSql\Lob, ou `false` si une erreur survient.

### Historique

Version | Description
--- | ---
8.1.0 | Retourne désormais une instance de PgSql\Lob ; auparavant, une resource était retourné.
8.1.0 | Le paramètre `connection` attend désormais une instance de PgSql\Connection ; auparavant, une resource était attendu.

### Exemples

Exemple #1 Exemple avec pg_lo_open()

`<?php
$database = pg_connect("dbname=jacarta");
pg_query($database, "begin");
$oid = pg_lo_create($database);
echo "$oid\n";
$handle = pg_lo_open($database, $oid, "w");
echo "$handle\n";
pg_lo_write($handle, "données objet de grande taille");
pg_lo_close($handle);
pg_query($database, "commit");
?>`

### Voir aussi

- pg_lo_close() - Ferme un objet de grande taille PostgreSQL
- pg_lo_create() - Crée un objet de grande taille PostgreSQL