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, クラス