PHP Doku:: Importiert ein Large Object aus einer Datei - function.pg-lo-import.html

Verlauf / Chronik / History: (20) anzeigen

Sie sind hier:
Doku-StartseitePHP-HandbuchFunktionsreferenzDatenbankerweiterungenAnbieterspezifische DatenbankerweiterungenPostgreSQLPostgreSQL-Funktionenpg_lo_import

Ein Service von Reinhard Neidl - Webprogrammierung.

PostgreSQL-Funktionen

<<pg_lo_export

pg_lo_open>>

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


4 BenutzerBeiträge:
- Beiträge aktualisieren...
vi2 at vi2 dot com
2.08.2002 2:54
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.
yohgaki at php dot net
19.06.2002 15: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.
yohgaki at php dot net
19.06.2002 15: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.
ceco at noxis dot net
15.05.2002 20: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



PHP Powered Diese Seite bei php.net
The PHP manual text and comments are covered by the Creative Commons Attribution 3.0 License © the PHP Documentation Group - Impressum - mail("TO:Reinhard Neidl",...)