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

PHP & Base de données Discussion :

Insérer une image en PHP [Fait] [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de ®om
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 815
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 815
    Par défaut Insérer une image en PHP
    Salut,

    Je suis souvent dans le forum JAVA, voici mon premier post en PHP...

    Voici mon problème:
    J'ai des images en binaire dans la base de données (type BLOB BINARY), je voudrais faire une page PHP de manière à ce que quand on va sur le site http://machin.com/mapage.php?photo=15 par exemple ça affiche la photo 15, comme si c'était un .jpg stocké sur l'hébergeur...

    Si je fais un echo $t[0]->photo (le champ photo du tuple) ça fait parse error... Ca n'est donc pas echo qu'il faut utiliser...

    Merci d'avance de votre aide

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    495
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 495
    Par défaut
    Salut,

    Moi j'utilise ce code, et ca marche :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $link = Connection();
    $requete = "SELECT binaire,type, description FROM descriptions_images WHERE id_pkg='".$id_pkg."' AND nom='".$nom."'";
    $result = @mysql_query($requete);
    $row = mysql_fetch_assoc($result);
    $binaire = $row['binaire'];
    $type = $row['type'];
    $alt = $row['description'];
     
    header( "content-type: ".$type);
    echo $binaire;

    Edit : et mon champ binaire est bien un BLOB BINARY

  3. #3
    Membre habitué
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2006
    Messages : 9
    Par défaut
    Ce tutoriel explique comment stocker et récupérer des images stockées dans une base Mysql.

    @+

    Stéphane

  4. #4
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Par défaut
    Salut

    Une parse error est une erreur de syntaxe, cela n'a absolument rien à voir avec la méthode de programmation utilisée (algo) ni même avec la fonction echo (ni aucune autre).

    Utilise un bon éditeur de code, il t'aidera assurément. Il y a un sondage en post-it à ce sujet.

  5. #5
    Membre Expert
    Avatar de ®om
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 815
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 815
    Par défaut
    Citation Envoyé par Yogui
    Salut

    Une parse error est une erreur de syntaxe, cela n'a absolument rien à voir avec la méthode de programmation utilisée (algo) ni même avec la fonction echo (ni aucune autre).

    Utilise un bon éditeur de code, il t'aidera assurément. Il y a un sondage en post-it à ce sujet.
    Ah ouais effectivement, en fait j'ai fait echo sans conviction, j'ai vu qu'il y avait une erreur, j'ai pas cherché plus loin (moi et le php o_O).

    Merci ze_vince et Stephane_be, je vais regarder ça

  6. #6
    Membre Expert
    Avatar de ®om
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 815
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 815
    Par défaut
    Bon, en fait le problème était que dans ma requête:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT photo FROM photo WHERE...
    il manquait des apostrophes à l'envers:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT photo FROM `photo` WHERE...
    (peut-être parce que la table a le même nom qu'un champ, mais bon, ça marchait en java sans les apostrophes)

    Mais maintenant, j'ai un autre problème... Ca n'affiche pas l'image, mais les codes ascii correspondants à chaque octet, sous forme de chaîne de caractères (incompréhensible bien sûr)...
    EDIT: c'est bon, il suffit d'appeler ce lien dans une balise <img> et ça marche...

  7. #7
    Membre Expert
    Avatar de ®om
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 815
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 815
    Par défaut
    C'est gênant, quand je tape l'url http://machin.../mapage.php?photo=15, je n'ai (comme j'ai dit plus haut) que les octets affichés sous forme de chaîne de caractères. Dans une page où on fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <img src="http://....photo=15">
    ça marche, mais si on clique droit, afficher l'image, on retombe sur le même problème... Y'a-r-il un moyen d'empêcher ça?

    EDIT: j'ai trouvé dans le tuto:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    header ("Content-type: jpeg");

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

Discussions similaires

  1. [HTML 5] [HTML & PHP] Lien "insérer une image"
    Par Portailservices dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 15/08/2013, 11h43
  2. insérer une image dans PHP, c'est possible ?
    Par misshelen dans le forum Langage
    Réponses: 3
    Dernier message: 12/01/2009, 14h40
  3. [Ming] insérer une image dans flash grace à PHP
    Par jexl dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 17/01/2006, 12h00
  4. [Crystal Reports 9] comment insérer une image dans Détails
    Par VVE dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 22/10/2003, 17h06
  5. [CR7] Insérer une image dynamiquement
    Par yoloosis dans le forum SAP Crystal Reports
    Réponses: 12
    Dernier message: 28/07/2003, 09h54

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