pg_lo_create
(PHP 4 >= 4.2.0, PHP 5, PHP 7)
pg_lo_create — Создает большой объект
Описание
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
, функция попытается создать объект с этим идентификатором, в противном случае будет использован свободный идентификатор, назначенный сервером. Этот аргумент появился в PHP 5.3 и основан на функционале, впервые реализованном в PostgreSQL 8.1.
Возвращаемые значения
OID большого объекта, либо false
в случае ошибки.
Примеры
Пример #1 Пример использования pg_lo_create()
<?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");
?>