International PHP Conference Berlin 2025

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 字节的数据并以 string 返回。

要使用大对象接口,必须将其封装在一个事务块中。

注意:

本函数以前的名字为 pg_loread()

参数

lob

通过 pg_lo_open() 返回的 PgSql\Lob 实例。

length

可选的要返回的最大字节数。

返回值

包含来自大对象的 length 字节的 string,或错误时为 false

更新日志

版本 说明
8.1.0 现在 lob 接受 PgSql\Lob 实例,之前接受 resource

示例

示例 #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($handle, 50000);
pg_query($database, "commit");
echo
$data;
?>

参见

添加备注

用户贡献的备注 1 note

up
-4
bobahspb at gmail dot com
13 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