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.pg_lo_import
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
pg_lo_import
Референца за `function.pg-lo-import.php` со подобрена типографија и навигација.
pg_lo_import
(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)
pg_lo_import — Увоз на голем објект од датотека
= NULL
$connection = ?, string $pathname, mixed $object_id = ?): int|string|falsepg_lo_import() креира нов голем објект во базата на податоци користејќи датотека на датотечниот систем како извор на податоци.
За да се користи интерфејсот за големи објекти, неопходно е да се затвори во блок за трансакција.
Забелешка:
Оваа функција порано се нарекуваше pg_loimport().
Параметри
connection-
Еден PgSql\Connection инстанца. Кога
connectionне е наведено, се користи стандардната врска. Стандардната врска е последната врска направена од pg_connect() or pg_pconnect().Ги ескејпува специјалните знаци во стринг за употреба во SQL изјаваОд PHP 8.1.0, користењето на стандардната врска е застарено.
pathname-
Целосната патека и името на датотеката на датотечниот систем на клиентот од која ќе се читаат податоците на големиот објект.
object_id-
Ако еден
object_idако е дадено, функцијата ќе се обиде да создаде голем објект со овој id, инаку серверот ќе додели слободен id на објектот. Параметарот се потпира на функционалност што првпат се појави во PostgreSQL 8.1.
Вратени вредности
На OID на новосоздадениот голем објект, или false при неуспех.
Дневник на промени
| Верзија | = NULL |
|---|---|
| 8.1.0 |
На connection параметарот очекува PgSql\Connection
инстанца сега; претходно, а resource се очекуваше.
|
Примери
Пример #1 pg_lo_import() example
<?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() - Отвори голем објект
Белешки од корисници 4 белешки
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.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.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