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