pg_lo_write

ラージオブジェクトに書き込む

説明

intfalse pg_lo_write(PgSql\Lob $lob, string $data, intnull $length = null)

pg_lo_write は、ラージオブジェクトの カレントのシーク位置にデータを書き込みます。

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

注意:

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

パラメータ

lob

pg_lo_open が返した PgSql\Lob クラスのインスタンス。

data

ラージオブジェクトに書き込むデータ。length が 数値で、かつ data の長さより小さく指定されている場合、 length バイトのみが書き込まれます。

length

書き込むデータの最大バイト数(オプション)。0 より大きく、かつ data のサイズ以下でなければなりません。 デフォルトは data の長さです。

戻り値

ラージオブジェクトに書き込んだバイト数を返します。 エラー時には false を返します。

変更履歴

バージョン 説明
8.1.0 lob は、PgSql\Lob クラスのインスタンスを期待するようになりました。 これより前のバージョンでは、リソース を期待していました。
8.0.0 length は、nullable になりました。

例1 pg_lo_write の例

<?php
   $doc_oid 
189762345;
   
$data "This will overwrite the start of the large object.";
   
$database pg_connect("dbname=jacarta");
   
pg_query($database"begin");
   
$handle pg_lo_open($database$doc_oid"w");
   
$data pg_lo_write($handle$data);
   
pg_query($database"commit");
?>

参考

  • pg_lo_create
  • pg_lo_open