pg_lo_write

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

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

説明

pg_lo_write(PgSql\Lob $lob, string $data, ?int $length = null): int|false

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

参考

関連キーワード:  ラージオブジェクト, lo, data, length, バイト, データ, PgSql, Lob, lob, クラス