PHP 8.5.0 Beta 2 available for testing

pg_lo_import

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

pg_lo_importImporta un objeto grande desde un fichero

Descripción

pg_lo_import(PgSql\Connection $connection = ?, string $pathname, mixed $object_id = ?): 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().

Parámetros

connection

Una instancia PgSql\Connection. Cuando connection no es especificado, se usa la conexión por defecto. La conexión por defecto es la última conexión hecha por pg_connect() o pg_pconnect()

Advertencia

Desde PHP 8.1.0, usar la conexión por defecto está obsoleto.

pathname

La ruta completa y nombre del fichero en el sistema de ficheros del cliente desde el cual leer los datos del objeto grande.

object_id

Si se proporciona un object_id, 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.

Valores devueltos

El OID del objeto grande recién creado, o false si ocurre un error.

Historial de cambios

Versión Descripción
8.1.0 El parámetro connection ahora espera una instancia de PgSql\Connection ; anteriormente, se esperaba un resource.

Ejemplos

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");
?>

Ver también

add a note

User Contributed Notes 4 notes

up
1
vi2 at vi2 dot com
23 years ago
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.
up
1
yohgaki at php dot net
23 years ago
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.
up
1
yohgaki at php dot net
23 years ago
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.
up
0
ceco at noxis dot net
23 years ago
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
To Top