Afficher une image en PHP à partir de MySQL
Résolu
Flo
-
alkabodi -
alkabodi -
Bonjour,
Je souhaite afficher des images de type "longblob" insérées dans MySQL. Après de multiples recherches, j'ai tenté la solution du script PHP qui "construit" une image.
Je possède une table 'articles' qui comprend un champs 'image'.
Voici le code du constructeur d'images (image.php):
Et voici comment j'affiche une image dans une page web :
Malheureusement, mon image ne s'affiche pas. Lorsque je fais "Afficher l'image" sous FireFox, j'ai le message suivant "L'image "http://localhost/[...]/vue/image.php?id=1" ne peut être affichée car elle contient des erreurs."
Un print_r de
Comment faire pour afficher une image ?
Je souhaite afficher des images de type "longblob" insérées dans MySQL. Après de multiples recherches, j'ai tenté la solution du script PHP qui "construit" une image.
Je possède une table 'articles' qui comprend un champs 'image'.
Voici le code du constructeur d'images (image.php):
<?php if (isset($_GET['id']) ) { require_once("../modele/Modele.php"); $image = null; $id = intval($_GET['id']); $modele = new Modele("localhost","base","root",""); $modele->connexion(); $req = "SELECT image FROM articles WHERE id = ".$id; try { $res = $modele->getConnexion()->query($req); $modele->deconnexion(); $image = $res->fetch(); } catch (Exception $e) { die('Erreur d\'accès à la base : '.$e->getMessage()); } if ($image != null) { header("Content-Type: image/jpeg"); echo($image['image']); } } ?>
Et voici comment j'affiche une image dans une page web :
<img src="image.php?id=1" />
Malheureusement, mon image ne s'affiche pas. Lorsque je fais "Afficher l'image" sous FireFox, j'ai le message suivant "L'image "http://localhost/[...]/vue/image.php?id=1" ne peut être affichée car elle contient des erreurs."
Un print_r de
$image['image']donne l'image sous sa forme encodée en binaire...
Comment faire pour afficher une image ?
A voir également:
- Afficher une image en php à partir d'une base de données
- Créer une icone à partir d'une image - Guide
- Comment faire une recherche à partir d'une photo - Guide
- Creer un groupe whatsapp a partir d'un autre groupe - Guide
- Supprimez les composantes rouge et verte de cette image. quel mot apparaît ? - Forum Word
- Base de registre - Guide
2 réponses
bonsoir, euh perso je procède pas comme sa. Dans ma bdd je stock seulement le chemin de mon image par exemple :
id = 1
name = photo
url = images/
du coup en php je fais une fonction qui recupere dans la base de donner
du coup quand je veut afficher une photo avec une id que je connait, comme une recherche ou un liste des photos (album) j'utilise la fonction.
donc toujours ton liens sur la miniature admettons:
<img src="image.php?id=1" />
et dans la page image.php
id = 1
name = photo
url = images/
du coup en php je fais une fonction qui recupere dans la base de donner
<?php function afficheImage($id){ $sql = "SELECT * FROM images WHERE id=".$id; $res = mysql_query($sql); WHILE ($image = mysql_fetch_assoc($res)){ echo "<IMG SRC='".$image['url'].$image['name'].".jpg'>"; } } ?>
du coup quand je veut afficher une photo avec une id que je connait, comme une recherche ou un liste des photos (album) j'utilise la fonction.
donc toujours ton liens sur la miniature admettons:
<img src="image.php?id=1" />
et dans la page image.php
if (isset($_GET['id']) ) { $_GET['id'] = addslashes($_GET['id']);//on sécurise les données afficheImage($_GET['id']);//on envoi en paramètre l'id récupéré. }else{ header ("location: image.php");//si pas de variable get["id"] on redirige vers la page précèdente par exemple }
harderpod
Messages postés
326
Date d'inscription
Statut
Membre
Dernière intervention
50
dans le while de la fonction tu peut ameliorer l'affichage de l'image avec des div ou les paramètre de la balise <img>