(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)
pg_lo_import — Importa un objeto grande desde un fichero
$connection = ?, string $filename, int |string $oid = ?): int |string |false pg_lo_import() crea un nuevo objeto grande en la base de datos usando un fichero en el sistema de ficheros como fuente de datos.
Para usar la interfaz de objetos grandes, es necesario encerrarla dentro de un bloque de transacción.
Nota:
Esta función antes se llamaba pg_loimport().
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.
filenameLa ruta completa y nombre del fichero en el sistema de ficheros del cliente desde el cual leer los datos del objeto grande.
oid
Si se proporciona un oid, la función
intentará crear un objeto grande con este ID, de lo contrario, el servidor
asignará un ID de objeto libre. Este parámetro depende de funcionalidad que
apareció por primera vez en PostgreSQL 8.1.
El OID del objeto grande recién creado, o false si ocurre un error.
| Versión | Descripción |
|---|---|
| 8.1.0 |
El parámetro connection ahora espera una instancia de PgSql\Connection
; anteriormente, se esperaba un resource .
|
Ejemplo #1 Ejemplo de pg_lo_import()
<?php
$database = pg_connect("dbname=jacarta");
pg_query($database, "begin");
$oid = pg_lo_import($database, '/tmp/lob.dat');
pg_query($database, "commit");
?>
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.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.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.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