Last 5.3 release ever available: PHP 5.3.29 - 5.3 now EOL

pg_lo_import

(PHP 4 >= 4.2.0, PHP 5)

pg_lo_importImportiert ein Large Object aus einer Datei

Beschreibung

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

pg_lo_import() erzeugt aus einer Datei im Dateisystem als Datenquelle ein neues Large Object in der Datenbank.

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.

object_id

Wenn es einen Parameter object_id gibt, wird diese Funktion versuchen, ein Large Object mit dieser ID zu erzeugen. Anderenfalls wird dem Large Object vom Server eine freie ID zugewiesen. Dieser Parameter steht seit PHP 5.3 zur Verfügung und basiert auf Funktionalitäten, die seit PostgreSQL 8.1 implementiert sind.

Rückgabewerte

Der OID des neu erzeugten Large Objects oder FALSE, wenn ein Fehler auftrat.

Changelog

Version Beschreibung
5.3.0

Der optionale Parameter object_id wurde zugefügt.

4.2.0

Die Syntax dieser Funktion wurde geändert. Früher galt:

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");
?>

Siehe auch

add a note add a note

User Contributed Notes 4 notes

up
1
vi2 at vi2 dot com
12 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
12 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
12 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
12 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