(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)
pg_lo_write — Schreibt in ein Large Object
pg_lo_write() schreibt Daten ab der aktuellen Position der internen Schreib-Lese-Marke in ein Large Object.
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_lowrite().
lob
Eine PgSql\Lob-Instanz, die von pg_lo_open() zurückgegeben wurde.
data
Die Daten, die in das Large Object geschrieben werden. Falls length
vom Typ int ist und kleiner als die Länge von data
, werden nur length
Bytes geschrieben.
length
Die maximale Anzahl der Bytes, die geschrieben werden. Die Anzahl muss größer als 0 und kleiner als die Länge von data
sein. Der Vorgabewert ist die Länge von data
. Diese Angabe ist optional.
Die Anzahl der Bytes, die in das Large Object geschrieben wurden, oder false
, falls ein Fehler auftrat.
Version | Beschreibung |
---|---|
8.1.0 | Der Parameter lob erwartet nun eine PgSql\Lob-Instanz; vorher wurde eine Ressource erwartet. |
8.0.0 | length ist jetzt nullbar. |
Beispiel #1 pg_lo_write()-Beispiel
<?php
$doc_oid = 189762345;
$data = "Hiermit wird der Anfang des Large Objects überschrieben.";
$database = pg_connect("dbname=jacarta");
pg_query($database, "begin");
$handle = pg_lo_open($database, $doc_oid, "w");
$data = pg_lo_write($handle, $data);
pg_query($database, "commit");
?>