PHP 5.6.0beta1 released

pg_lo_import

(PHP 4 >= 4.2.0, PHP 5)

pg_lo_import Importe un objet de grande taille depuis un fichier

Description

int pg_lo_import ([ resource $connection ], string $pathname [, mixed $object_id ] )

pg_lo_import() crée un nouvel objet de grande taille dans la base de données en utilisant un fichier dans le système de fichiers en tant que données sources.

Pour utiliser un objet de grande taille (lo), il est nécessaire de le faire dans une transaction.

Note: Lorsque le safe-mode est activé, PHP vérifie si le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté.

Note:

Auparavant, cette fonction s'appelait pg_loimport().

Liste de paramètres

connection

La ressource de connexion de la base de données PostgreSQL. Lorsque connection n'est pas présent, la connexion par défaut est utilisée. La connexion par défaut est la dernière connexion faite par pg_connect() ou pg_pconnect().

pathname

Le chemin d'accès complet ainsi que le fichier dans lequel il sera lu l'objet de grande taille sur le système du client.

object_id

Si le paramètre object_id est fourni, la fonction essayera de créer un objet large avec cette identifiant, sinon, un identifiant d'objet disponible sera assigné par le serveur. Ce paramètre a été ajouté en PHP 5.3 et cette fonctionnalité est apparue avec PostgreSQL 8.1.

Valeurs de retour

Le OID du nouvel objet de grande taille créé ou FALSE en cas d'échec.

Historique

Version Description
5.3.0

Le paramètre optionnel object_id a été ajouté.

4.2.0

La syntaxe de cette fonction a changé. Avant PHP 4.2.0, la syntaxe était :

int pg_lo_import ( string $pathname [, resource $connection ] )

Exemples

Exemple #1 Exemple avec 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");
?>

Voir aussi

add a note add a note

User Contributed Notes 4 notes

up
1
vi2 at vi2 dot com
11 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
11 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
11 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
1
ceco at noxis dot net
11 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