PHP 7.4.25 Released!

pg_lo_read

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

pg_lo_readラージオブジェクトを読み込む

説明

pg_lo_read(PgSql\Lob $lob, int $length = 8192): string|false

pg_lo_read()は、ラージオブジェクトから最大 length バイト分読み込み、文字列として返します。

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

注意:

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

パラメータ

lob

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

length

返すデータの最大バイト数(オプション)。

返り値

ラージオブジェクトから length バイトのデータを 文字列で返します。エラー時には false を返します。

変更履歴

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

例1 pg_lo_read() の例

<?php
   $doc_oid 
189762345;
   
$database pg_connect("dbname=jacarta");
   
pg_query($database"begin");
   
$handle pg_lo_open($database$doc_oid"r");
   
$data pg_lo_read($handle50000);
   
pg_query($database"commit");
   echo 
$data;
?>

参考

  • pg_lo_read_all() - ラージオブジェクト全体を読み込みブラウザに直接送信する

add a note add a note

User Contributed Notes 1 note

up
-2
bobahspb at gmail dot com
10 years ago
Be careful: pg_lo_export() create empty file without "begin"/"end".
See docs: "...it is necessary to enclose it within a transaction block..."
To Top