// 请记住,大对象必须从事务中获取
pg_query ($dbconn, "begin");
// 为此示例“假设”压缩文件的 large object 资源号为“17899”
$lo_oid = 17899;
$handle_lo = pg_lo_open($dbconn,$lo_oid,"r") or die("<h1>错误.. 无法获取句柄</h1>");
// 在开始二进制下载之前发送到浏览器的标头
header('Accept-Ranges: bytes');
header('Content-Length: 32029974'); // 这是压缩文件的大小
header('Keep-Alive: timeout=15, max=100');
header('Content-type: Application/x-zip');
header('Content-Disposition: attachment; filename="superjob.zip"');
pg_lo_read_all($handle_lo) or
die("<h1>错误,无法读取大对象。</h1>");
// 提交数据事务
pg_query ($dbconn, "commit");