| Notes sur l'utilisation des BLOBs (TEXT et BYTE)
 
    Les objets de type BLOB sont normalement gérés par des
    identifiants de BLOB. Les requêtes de sélection retournent
    un identifiant de BLOB pour chaque colonne de type BYTE et TEXT. Vous
    pouvez en lire le contenu, avec des commandes de type
    "string_var = ifx_get_blob($BLOB_id);" ; si vous souhaitez ramener le BLOB en
    mémoire (avec: "ifx_blobinfile_mode(0);"). Si vous préférez
    recevoir le contenu d'une colonne BLOB dans un fichier, utilisez
     
ifx_blobinfile_mode
 , et ifx_get_blob($BLOB_id)
    vous retournera le nom du fichier. Utilisez les fonctions habituelles
    d'accès aux fichiers pour lire son contenu.
    
    Pour les requêtes INSERT/UPDATE, vous devez créer les identifiants
    de BLOB vous-même, avec la fonction  
ifx_create_blob
 .
    Puis, vous placez l'identifiant de BLOB dans un tableau, et remplacez
    la colonne par un point d'interrogation (?). Pour les UPDATE/INSERT, vous
    êtes responsable du contenu du BLOB, avec la fonction
     
ifx_update_blob
 .
    
    Le comportement par défaut des colonnes de type BLOB peut être
    modifié en affectant de nouvelles valeurs aux variables de configuration
    (même à la volée) :
    
    Variable de configuration : ifx.textasvarchar
    
    Variable de configuration  : ifx.byteasvarchar
    
    Fonctions à utiliser lors de l'exécution :
    
    ifx_textasvarchar(0) : utilise l'identifiant de BLOB avec des colonnes de type
    TEXT, dans les requêtes SELECT
    
    ifx_byteasvarchar(0) : utilise l'identifiant de BLOB avec des colonnes de type
    BYTE, dans les requêtes SELECT
    
    ifx_textasvarchar(1) : retourne les colonnes de type TEXT sous la forme de
    VARCHAR, sans utiliser les identifiants de BLOB dans les requêtes SELECT.
    
    ifx_byteasvarchar(1) : retourne les colonnes de type BYTE sous la forme de
    VARCHAR, sans utiliser les identifiants de BLOB dans les requêtes SELECT.
    
    Variable de configuration : ifx.BLOBinfile
    
    Fonctions à utiliser lors de l'exécution :
    
    ifx_blobinfile_mode(0) : retourne les colonnes de type BYTE en mémoire ;
    l'identifiant de BLOB vous donnera accès au contenu.
    
    ifx_blobinfile_mode(1) : retourne les colonnes de type BYTE dans un fichier ;
    l'identifiant de BLOB vous donnera accès au nom de ce fichier.
    
    En affectant la valeur 1 à ifx_text/byteasvarchar, vous pouvez
    utiliser les colonnes de type TEXT et BYTE dans les requêtes SELECT
    comme des champs VARCHAR (mais plus long). Etant donné la gestion
    des chaînes par PHP, cette technique conserve les données
    binaires. Les données retournées peuvent contenir n'importe
    quoi, et vous êtes responsable de la bonne manipulation de ces valeurs.
    
    En affectant la valeur 1 à  
ifx_blobinfile_mode
 ,
    utilisez le nom de fichier retourné par  
ifx_get_blob
 
    pour accéder au contenu du BLOB. Notez bien que vous êtes tenu
    responsable de l'effacement des fichiers temporaires, créés par
    Informix. Chaque nouvelle ligne lue sur le serveur va créer un nouveau
    fichier temporaire, pour chaque colonne de type BYTE.
    
    L'emplacement des fichiers temporaires peut être modifié, grâce
    à la variable "blobdir", (par défaut, ".", c'est-à-dire,
    le dossier courant). Une valeur telle que BLOBdir="tmpBLOB" simplifiera le
    nettoyage des fichiers temporaires, accidentellement oubliés (les noms
    commencent tous par "blb").
    
 |