IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Administration MySQL Discussion :

type BLOB et html


Sujet :

Administration MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    288
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 288
    Par défaut type BLOB et html
    salut tout le monde ! Je vous sollicite pour un petit problème

    J'utilise une base mysql pour mon site internet. Dans une des tables, je stocke des images : le type de la colonne et BLOB. jusque là pas de problème, j'arrive à insérer des images sans problème.

    Mon problème réside plus dans la récupération et l'affichage en html de l'image.

    En effet, pour afficher une image en html, on utilise :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <img src="image.jpg" width="100" height="100"  border="0" alt="mon image" />
    mais là, en récupérant l'image dans la BD, comment je fais pour l'afficher après ?

    un simple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <img src="<?php $image; ?>"...
    affiche pleins de symbole, donc j'imagine qu'il faut tranformer tout ça...

    quelqu'un peut il m'éclairer ?

  2. #2
    Membre éprouvé
    Inscrit en
    Mai 2006
    Messages
    139
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Mai 2006
    Messages : 139
    Par défaut
    Dans ta variable $image, tu as le code de ton image et non son adresse.

    Tu peux créer un fichier image.php qui restitue l'image souhaitée.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    header("Content-Type: image/jpeg");
     
    // ici tu récupère l'image dans ta base à partir de $_GET['id']
     
    echo $image;
    A l'endroit où tu veux appeler ton image :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <img src="image.php?id=<?= $identifiantImage; ?>" />

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    288
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 288
    Par défaut
    j'ai trouvé une solution :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?php									
              requête...	
    									$image=$ligne->image;
    									$fichier=fopen("amis/img_tmp.jpg","w");
    									fwrite($fichier,$image);
    									fclose($fichier);
    ?>
    seul petit problème, l'image créée temporairement n'est pas supprimée... et se réaffiche.

  4. #4
    Membre éprouvé
    Inscrit en
    Mai 2006
    Messages
    139
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Mai 2006
    Messages : 139
    Par défaut
    Une fois que tu as fini de l'utiliser, tu fais un unlink("adresseImage");

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    288
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 288
    Par défaut
    ok merci.

    J'ai un nouveau soucis, peut être que tu pourras aussi m'aider.

    cette fois c'est pour enregistrer l'image dans la bd.

    voici ce que j'utilise dans mon formulaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <td><b>Photo du groupe :</b> </td>
    <td>
    	<input type="hidden" name="MAX_FILE_SIZE" value="100000">
    	<input name="photo" type="file">
    </td>
    et ensuite dans le fichier appelé après validation du formulaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $fp = fopen($photo,"r");
    $data = fread($fp,filesize($photo));
    fclose($fp);
    $data = addslashes($data);
    plusieurs problème en découlent :
    - avec internet explorer, le chemin de l'image récupéré comporte des "//" à la place des "/" et du coup ça plante pour ouvrir le fichier
    - avec opera ou encore firefox, le chemin récupéré ne comporte que le nom de l'image (image.jpg) et donc le fichier ne peut pas être ouvert non plus.

    si vous avez des solutions je suis preneur

  6. #6
    Membre éprouvé
    Inscrit en
    Mai 2006
    Messages
    139
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Mai 2006
    Messages : 139
    Par défaut
    Regarde du côté de ce tutoriel

    Il devrait t'aider à corriger ton code

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème quand le champs de type Blob est null
    Par med_anis_dk dans le forum JDBC
    Réponses: 6
    Dernier message: 12/05/2007, 01h34
  2. Lister des images de types blob en jsp
    Par biba158 dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 07/05/2007, 13h41
  3. comparer deux adodb.field de type blob(adbinary)
    Par cakeke dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 30/11/2005, 13h24
  4. Problème avec le type BLOB dans oracle
    Par pguedia dans le forum Oracle
    Réponses: 1
    Dernier message: 10/11/2005, 17h33
  5. Comment Enregistrer un champ type BLOB avec Query ???
    Par baba dans le forum Bases de données
    Réponses: 3
    Dernier message: 11/01/2005, 20h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo