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.0lob は、PgSql\Lob クラスのインスタンスを期待するようになりました。 これより前のバージョンでは、リソース を期待していました。
8.0.0length は、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");
?>

参考

To Top