在线文档教程
PHP

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_READINV_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 →