# pg_lo_open

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

pg_lo_open — Open a large object

### Description

pg_lo_open ( resource `$connection` , int `$oid` , string `$mode` ) : resource

pg_lo_open() opens a large object in the database and returns large object resource so that it can be manipulated.

Warning

Do not close the database connection before closing the large object resource.

To use the large object interface, it is necessary to enclose it within a transaction block.

> Note:

> This function used to be called pg_loopen().

### Parameters

`connection`

  PostgreSQL database connection resource. When `connection` is not present, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

`oid`

  The OID of the large object in the database.

`mode`

  Can be either "r" for read-only, "w" for write only or "rw" for read and write.

### Return Values

A large object resource or `FALSE` on error.

### Examples

Example #1 pg_lo_open() example

`<?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, "large object data");
pg_lo_close($handle);
pg_query($database, "commit");
?>`

### See Also

- pg_lo_close() - Close a large object
- pg_lo_create() - Create a large object