ラージオブジェクトをオープンする

# pg_lo_open

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

pg_lo_open — ラージオブジェクトをオープンする

### 説明

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

pg_lo_open() はデータベース内にラージオブジェクトを オープンし、それを操作するための PgSql\Lob クラスのインスタンスを返します。

警告

PgSql\Lob のインスタンスを閉じる前にデータベースへの接続を 閉じないでください。

ラージオブジェクトインターフェイスは、トランザクションブロックの中で 使用する必要があります。

> 注意:

> この関数は、以前は pg_loopen() と呼ばれていました。

### パラメータ

`connection`

  PgSql\Connection クラスのインスタンス。 `connection` が指定されない場合は、デフォルトの接続を使います。 デフォルトの接続とは、pg_connect() または pg_pconnect() によって確立された直近の接続です。

  警告

  PHP 8.1.0 以降では、デフォルトの接続を使うことは推奨されなくなりました。

`oid`

  データベース内のラージオブジェクトの OID 。

`mode`

  読み込み専用の "r"、書き込み専用の "w"、読み書き可能な "rw" のいずれか。

### 戻り値

PgSql\Lob クラスのインスタンスを返します。 失敗した場合に `false` を返します

### 変更履歴

バージョン | 説明
--- | ---
8.1.0 | PgSql\Lob クラスのインスタンスを返すようになりました。 これより前のバージョンでは、resource を返していました。
8.1.0 | `connection` は、PgSql\Connection クラスのインスタンスを期待するようになりました。 これより前のバージョンでは、resource を期待していました。

### 例

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

### 参考

- pg_lo_close() - ラージオブジェクトをクローズする
- pg_lo_create() - ラージオブジェクトを生成する

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