(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)
pg_lo_open — Abre un objeto de gran tamaño de PostgreSQL
pg_lo_open() abre un objeto grande en la base de datos y devuelve una instancia de PgSql\Lob para que pueda ser manipulado.
No cerrar la conexión a la base de datos antes de cerrar la instancia PgSql\Lob.
Para utilizar un objeto de gran tamaño (lo), es
necesario hacerlo dentro de una transacción.
Nota:
Anteriormente, esta función se llamaba pg_loopen().
connectionUna PgSql\Connection instancia.
Cuando connection no es especificado, se usa la conexión por
defecto. La conexión predeterminada es la última conexión hecha por pg_connect()
o pg_pconnect()
Desde PHP 8.1.0, usar la conexión predeterminada está obsoleto.
oidEl OID del objeto de gran tamaño en la base de datos.
modePuede ser "r" para solo lectura, "w" para solo escritura o "rw" para lectura y escritura.
| Versión | Descripción |
|---|---|
| 8.1.0 | Ahora devuelve una instancia de PgSql\Lob; anteriormente, se devolvía un resource. |
| 8.1.0 |
El parámetro connection ahora espera una instancia de PgSql\Connection
; anteriormente, se esperaba un resource.
|
Ejemplo #1 Ejemplo con pg_lo_open()
<?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, "datos de objeto de gran tamaño");
pg_lo_close($handle);
pg_query($database, "commit");
?>