PHP Conference Nagoya 2025

pg_lo_import

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

pg_lo_importImporta un large object da un file

Descrizione

pg_lo_import(PgSql\Connection $connection = ?, string $pathname, mixed $object_id = ?): int

pg_lo_import() crea un nuovo large object nel database utilizzando un file sul filesystem come origine dati.

Per utilizzare l'interfaccia large object, è necessario racchiuderla in un blocco di transazione.

Nota:

Questa funzione si chiamava pg_loimport().

Elenco dei parametri

connection

An PgSql\Connection instance. When connection is unspecified, the default connection is used. The default connection is the last connection made by pg_connect() or pg_pconnect().

Avviso

As of PHP 8.1.0, using the default connection is deprecated.

pathname

Il percorso completo e il nome del file sul filesystem del client da cui leggere i dati del large object.

object_id

Se viene fornito un object_id la funzione proverà a creare un large object con questo id, altrimenti il server assegna un object ID libero. Il parametro si basa sulle funzionalità apparse per la prima volta in PostgreSQL 8.1.

Valori restituiti

L'OID del large object appena creato, o false in caso di fallimento.

Log delle modifiche

Versione Descrizione
8.1.0 The connection parameter expects an PgSql\Connection instance now; previously, a resource was expected.

Esempi

Example #1 Esempio di 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");
?>

Vedere anche:

add a note

User Contributed Notes 4 notes

up
1
vi2 at vi2 dot com
22 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
22 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
22 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
0
ceco at noxis dot net
22 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