ScotlandPHP

pg_lo_import

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

pg_lo_importИмпорт большого объекта из файла

Описание

int pg_lo_import ([ resource $connection ], string $pathname [, mixed $object_id ] )

pg_lo_import() создает большой объект в базе данных, используя локальный файл в качестве источника данных.

Операции с использованием интерфейса больших объектов необходимо заключать в блок транзакции.

Замечание: Когда опция safe mode включена, PHP проверяет, имеют ли файлы/каталоги, с которыми вы собираетесь работать, такой же UID (владельца), как и выполняемый скрипт.

Замечание:

Прежнее название функции: pg_loimport().

Список параметров

connection

Ресурс подключения к базе данных PostgreSQL. Если параметр connection не задан, будет использовано подключение по умолчанию - последнее соединение, открытое функцией pg_connect() или pg_pconnect().

pathname

Полный путь и имя файла в клиентской файловой системе для чтения данных большого объекта.

object_id

Если задан аргумент object_id, функция попытается создать объект с этим идентификатором, в противном случае будет использован свободный идентификатор, назначенный сервером. Этот аргумент появился в PHP 5.3 и основан на функционале, впервые реализованном в PostgreSQL 8.1.

Возвращаемые значения

OID созданного большого объекта, либо FALSE в случае ошибки.

Список изменений

Версия Описание
5.3.0

Добавлен необязательный аргумент object_id.

Примеры

Пример #1 Пример использования pg_lo_import()

<?php
   $database 
pg_connect("dbname=jacarta");
   
pg_query($database"begin");
   
$oid pg_lo_import($database'/tmp/lob.dat');
   
pg_query($database"commit");
?>

Смотрите также

  • pg_lo_export() - Вывод большого объекта в файл
  • pg_lo_open() - Открывает большой объект базы данных

add a note add a note

User Contributed Notes 4 notes

up
1
vi2 at vi2 dot com
15 years ago
its not very clear if pg_lo_import needs to have pg_lo_open called first. Because pg_lo_import handles the process of writign to the file, it seems logical that pg_lo_open does not need to be called. However due to the ugly nature of how postgres handles oid objects, it would be nice to have this documented.
up
1
yohgaki at php dot net
15 years ago
Due to a bug, OLD API does not available with PHP 4.2.0 and 4.2.1.

PHP 4.2.2 will support OLD API again and will be kept long enough.

New API will be available PHP 4.2.0 to later versions.
up
1
yohgaki at php dot net
15 years ago
Due to a bug, PHP 4.2.0 and 4.2.1 does not support pg_lo_import() old API. It's fixed in PHP 4.2.2.

BTW, new API will be always available from PHP 4.2.0 to later versions. Older API will be kept long enough, also.
up
1
ceco at noxis dot net
15 years ago
it works for me (php-4.2.1)

not like this

int pg_lo_import ( string pathname [, resource connection])

but
int pg_lo_import ( resource connection, string pathname )

don't know the reason
To Top