pg_lo_open
(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)
pg_lo_open — Öffnet ein Large Object
Beschreibung
pg_lo_open() öffnet ein Large Object in einer Datenbank und gibt eine PgSql\Lob-Instanz zurück, über die das Large Object modifiziert werden kann.
Bevor die Datenbankverbindung geschlossen wird, müssen die PgSql\Lob-Instanzen wieder geschlossen werden.
Um die Large Object- (lo) Schnittstelle benutzen zu können, müssen die Kommandos innerhalb einer Transaktion ausgeführt werden.
Hinweis:
Diese Funktion ersetzt die Funktion pg_loopen().
Parameter-Liste
-
connection
-
Eine PgSql\Connection-Instanz. Falls
connection
nicht angegeben wurde, wird die Standardverbindung benutzt. Das ist die zuletzt mit pg_connect() oder pg_pconnect() aufgebaute Verbindung.WarnungSeit PHP 8.1.0 ist die Verwendung der Standardverbindung veraltet.
-
oid
-
Die OID des Large Objects in der Datenbank.
-
mode
-
Dies kann entweder "r" für nur lesen, "w" für nur schreiben oder "rw" für lesen und schreiben sein.
Rückgabewerte
Eine PgSql\Lob-Instanz. Bei einem Fehler wird false
zurückgegeben.
Changelog
Version | Beschreibung |
---|---|
8.1.0 | Gibt nun eine PgSql\Lob-Instanz zurück; vorher wurde eine Ressource zurückgegeben. |
8.1.0 |
Der Parameter connection erwartet nun eine PgSql\Connection-Instanz;
vorher wurde eine Ressource erwartet.
|
Beispiele
Beispiel #1 pg_lo_open()-Beispiel
<?php
$database = pg_connect("dbname=jacarta");
pg_query($database, "begin");
$oid = pg_lo_create($database);
echo "$oid\n";
$handle = pg_lo_open($database, $oid, "w");
echo "$handle\n";
pg_lo_write($handle, "Daten des Large Objects");
pg_lo_close($handle);
pg_query($database, "commit");
?>