Afficher sur une page html une image stockée dans une bdd
Résolu
chantaussel
Messages postés
137
Date d'inscription
Statut
Membre
Dernière intervention
-
chantaussel Messages postés 137 Date d'inscription Statut Membre Dernière intervention -
chantaussel Messages postés 137 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai des images jpeg stockées dans une bdd (stockées vraiment, pas simplement l'url). Je ne souhaite pas revenir sur le débat de savoir si c'est une bonne idée ou non, j'ai bien pesé le pour et le contre et c'est cela qui me convient le mieux.
Mon problème c'est l'affichage de l'image. J'ai essayé avec deux techniques (echo, et imagejpeg - d'ailleurs je ne connais pas la différence, si quelqu'un peut m'éclairer), et chacune me renvoie "impossible d'afficher l'image car elle contient des erreurs", suivi d'une longue suite de caractères.
Mon but n'étant pas d'afficher l'image toute seule dans une page, mais au sein d'une page HTML, je passe par un fichier php intermédiaire qui affiche l'image, auquel renvoie le src de l'image dans mon code HTML.
Je n'ai pas uploadé l'image dans la bdd en passant par un script php, mais directement dans phpmyadmin. Lorsqu'on crée un champ BLOB une option s'affiche pour uploader directement le ficher.
Je ne sais pas si mon problème vient de l'upload (direct dans phpmyadmin) ou de mes scripts.
Voilà mon code:
$acte est la variable qui contient le "flux (?)" binaire du fichier que l'on récupère dans la bdd.
Fichier php qui contient la requête qui récupère, entre autres, l'image, suivi du code HTML pour l'affichage de la page HTML et de l'appel de l'image:
Fichier intermédiaire "image_bdd.php" qui affiche l'image:
Voilà si quelqu'un à un idée du problème ça m'aiderait bien!
Merci d'avance :)
J'ai des images jpeg stockées dans une bdd (stockées vraiment, pas simplement l'url). Je ne souhaite pas revenir sur le débat de savoir si c'est une bonne idée ou non, j'ai bien pesé le pour et le contre et c'est cela qui me convient le mieux.
Mon problème c'est l'affichage de l'image. J'ai essayé avec deux techniques (echo, et imagejpeg - d'ailleurs je ne connais pas la différence, si quelqu'un peut m'éclairer), et chacune me renvoie "impossible d'afficher l'image car elle contient des erreurs", suivi d'une longue suite de caractères.
Mon but n'étant pas d'afficher l'image toute seule dans une page, mais au sein d'une page HTML, je passe par un fichier php intermédiaire qui affiche l'image, auquel renvoie le src de l'image dans mon code HTML.
Je n'ai pas uploadé l'image dans la bdd en passant par un script php, mais directement dans phpmyadmin. Lorsqu'on crée un champ BLOB une option s'affiche pour uploader directement le ficher.
Je ne sais pas si mon problème vient de l'upload (direct dans phpmyadmin) ou de mes scripts.
Voilà mon code:
$acte est la variable qui contient le "flux (?)" binaire du fichier que l'on récupère dans la bdd.
Fichier php qui contient la requête qui récupère, entre autres, l'image, suivi du code HTML pour l'affichage de la page HTML et de l'appel de l'image:
$id_n = $_GET['id_n']; mysql_connect("localhost", "root", ""); mysql_select_db("ma_base"); $reponse = mysql_query("SELECT *, FROM table WHERE id='$id_n'"); $donnees = mysql_fetch_array($reponse); $acte = $donnees['acte_n']; (...) // appelle l'image, et je fait passer la variable $acte dans l'url <img src="image_bdd.php?acte=<?php echo $acte; ?>" alt="blabla" />
Fichier intermédiaire "image_bdd.php" qui affiche l'image:
<?php $acte = $_GET['acte']; header ("content-type: image/jpeg"); imagejpeg($acte); // j'ai également essayé avec la variante: echo $acte; ?>
Voilà si quelqu'un à un idée du problème ça m'aiderait bien!
Merci d'avance :)
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
Merci encore de ton aide, si je trouve une solution je la posterai là :)