Php/docs/function.pg-lo-create

提供:Dev Guides
< Php
移動先:案内検索

pg_lo_create

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

pg_lo_createラージオブジェクトを生成する


説明

pg_lo_create ([ resource $connection [, mixed $object_id ]] ) : int

pg_lo_create ( mixed $object_id ) : int

pg_lo_create() はラージオブジェクトを 生成し、そのラージオブジェクトの OID を返します。 PostgreSQL アクセスモード INV_READINV_WRITE および INV_ARCHIVE はサポートされません。オブジェクトは 常に読み書き可のアクセス権で生成されます。 INV_ARCHIVE は PostgreSQL 自身からも削除されました (バージョン 6.3 以降)。

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

ラージオブジェクトインターフェイス(アクセス制御もできないし使用が面倒) を使用するかわりに、PostgreSQL の bytea カラム型と pg_escape_bytea() を試してください。

注意:

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

パラメータ

connection
PostgreSQL データベース接続リソース。connection が指定されていない場合はデフォルトの接続が使用されます。 デフォルトの接続は、直近の pg_connect() あるいは pg_pconnect() によって作成されたものです。
object_id
object_id が指定されると、 この関数は指定された ID のラージオブジェクトを作成しようとします。 それ以外の場合は、サーバーから割り当てられたオブジェクト ID を使用します。 このパラメータは PHP 5.3 で追加されたもので、 PostgreSQL 8.1 以降の新機能に依存しています。


返り値

ラージオブジェクトの OID を返します。 エラー時には false を返します。


例1 pg_lo_create() の例

<?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");?>