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 4 >= 4.2.0, PHP 5)
pg_lo_import — Importiert ein Large Object aus einer Datei
Beschreibung
pg_lo_import() erzeugt ein neues Large Object in der Datenbank, in dem die Daten einer Datei aus dem Dateisystem gespeichert werden.
Um die Large Object (lo) Schnittstelle benutzen zu können, müssen die Kommandos innerhalb einer Transaktion ausgeführt werden.
Hinweis: Wenn Safe Mode aktiviert ist, überprüft PHP, ob die Dateien/Verzeichnisse die mit dem Skript bearbeitet werden sollen, die gleiche UID (Eigentümer) haben wie das Skript selbst.
Hinweis: Diese Funktion ersetzt die Funktion pg_loimport().
Parameter-Liste
- connection
-
PostgreSQL Verbindungskennung. Wenn connection nicht angegeben ist, wird die zuletzt von pg_connect() oder pg_pconnect() geöffnete Verbindung benutzt.
- pathname
-
Der vollständige Pfad- und Dateiname der Datei im lokalen Dateisystem des Clients, aus der die Daten des Large Objects gelesen werden.
Rückgabewerte
Der OID des neu erzeugten Large Objects oder FALSE, wenn ein Fehler auftrat.
ChangeLog
| Version | Beschreibung |
|---|---|
| 4.2.0 | Die Syntax dieser Funktion wurde wie folgt geändert:
int pg_lo_import
( string $pathname
[, resource $connection
] )
|
Beispiele
Beispiel #1 pg_lo_import() Beispiel
<?php
$database = pg_connect("dbname=jacarta");
pg_query($database, "begin");
$oid = pg_lo_import($database, '/tmp/lob.dat');
pg_query($database, "commit");
?>
pg_lo_import
01-Aug-2002 05:54
19-Jun-2002 06:04
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.
19-Jun-2002 06:00
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.
15-May-2002 11:08
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
