pg_lo_create
pg_lo_create
(PHP 4 >= 4.2.0, PHP 5, PHP 7)
pg_lo_create - 创建一个大对象
描述
int pg_lo_create ([ resource $connection [, mixed $object_id ]] )
int pg_lo_create ( mixed $object_id )
pg_lo_create()
创建一个大对象并返回大对象的OID。PostgreSQL访问模式INV_READ
,INV_WRITE
并且INV_ARCHIVE
不受支持,对象始终具有读取和写入权限。INV_ARCHIVE
已经从PostgreSQL本身(版本6.3及以上版本)中删除。
要使用大对象接口,必须将其放在事务块中。
使用PostgreSQL的bytea列类型和pg_escape_bytea()来代替使用大对象接口(它没有访问控制并且使用起来很麻烦)。
注意
:这个函数被称为pg_locreate()
。
参数
connection
PostgreSQL数据库连接资源。如果connection
不存在,则使用默认连接。默认连接是pg_connect()或pg_pconnect()所做的最后一个连接。
object_id
如果object_id
给出该函数将尝试使用此ID创建一个大对象,否则由服务器分配一个空闲对象ID。该参数是在PHP 5.3中添加的,并且依赖于PostgreSQL 8.1中首次出现的功能。
返回值
大对象OID或FALSE
出错。
更新日志
版 | 描述 |
---|---|
5.3.0 | 添加了可选的object_id。 |
例子
Example #1 pg
_
lo
_
create() example
<?php
$database = pg_connect("dbname=jacarta"
pg_query($database, "begin"
$oid = pg_lo_create($database
echo "$oid\n";
$handle = pg_lo_open($database, $oid, "w"
echo "$handle\n";
pg_lo_write($handle, "large object data"
pg_lo_close($handle
pg_query($database, "commit"
?>
← pg_lo_close
pg_lo_export →