Insertion image dans une base MYSQL
Résolu/Fermé
yamyoung
Messages postés
13
Date d'inscription
mercredi 9 janvier 2008
Statut
Membre
Dernière intervention
3 janvier 2010
-
22 déc. 2008 à 01:05
lailada - 20 mars 2013 à 12:55
lailada - 20 mars 2013 à 12:55
A voir également:
- Insertion image dans une base MYSQL
- Insertion liste déroulante excel - Guide
- Image iso - Guide
- Formules excel de base - Guide
- Comment agrandir une image - Guide
- Insertion sommaire word - Guide
6 réponses
D-Predator
Messages postés
259
Date d'inscription
dimanche 3 août 2008
Statut
Membre
Dernière intervention
25 janvier 2009
80
22 déc. 2008 à 05:21
22 déc. 2008 à 05:21
Stocker une image dans une BD c'est mal, parce que une image prend beaucoup d'espace (au moins plusieurs ko, donc des milliers de caractères), ce qui peut ralentir les requêtes. Si tu veux le faire tout de même, voici une solution. Tu créé une table dans ta bd qui va contenir les images. Avec les colonnes NoImage (Clée, Integer, Autoincrement), TypeImage (un string, qui va contenir le type MIME de l'image), DataImage (un BLOB). Donc quand tu upload une image dans ta BD, tu détermine si c'est un jpg, un gif ou un png et qu'il n'est pas ridiculement gros. Tu place le type MIME à:
jpg: image/jpeg
gif: image/gif
png: image/png
et ensuite dans le blob, tu stock les bytes de l'image, et le NoImage est autogénéré.
Ensuite, tu créé une page appelé downloadImage.php Cette page va recevoir comme paramètre genre:
downloadImage.php?noImage=124268
la page va être un script PHP d'un bout à l'autre, pas d'espaces avant et après le script! Dès que ton script comme, première chose, tu vérifie dans la BD si l'image existe avec le NoImage. Si elle n'existe pas, tu fais rien, ou tu envoie une image que tu créé genre "image introuvable", sinon, tu envoie le contenu de la colonne TypeImage comme Content-Type:
header("Content-type: $leType");
ou la variable leType sera le contenu de la colonne TypeImage.
Ensuite, tu n'as qu'à retourne les données du blob DataImage à la page, avec une sorte de echo (mais pour les bytes array) et c'est tout.
jpg: image/jpeg
gif: image/gif
png: image/png
et ensuite dans le blob, tu stock les bytes de l'image, et le NoImage est autogénéré.
Ensuite, tu créé une page appelé downloadImage.php Cette page va recevoir comme paramètre genre:
downloadImage.php?noImage=124268
la page va être un script PHP d'un bout à l'autre, pas d'espaces avant et après le script! Dès que ton script comme, première chose, tu vérifie dans la BD si l'image existe avec le NoImage. Si elle n'existe pas, tu fais rien, ou tu envoie une image que tu créé genre "image introuvable", sinon, tu envoie le contenu de la colonne TypeImage comme Content-Type:
header("Content-type: $leType");
ou la variable leType sera le contenu de la colonne TypeImage.
Ensuite, tu n'as qu'à retourne les données du blob DataImage à la page, avec une sorte de echo (mais pour les bytes array) et c'est tout.
yamyoung
Messages postés
13
Date d'inscription
mercredi 9 janvier 2008
Statut
Membre
Dernière intervention
3 janvier 2010
1
23 déc. 2008 à 17:37
23 déc. 2008 à 17:37
Merci beaucoup les amis!!
Ça fonctionne comme une merveille!!
Ça fonctionne comme une merveille!!
Bikarfioul
Messages postés
40
Date d'inscription
jeudi 15 juillet 2004
Statut
Membre
Dernière intervention
28 juin 2010
5
22 déc. 2008 à 05:57
22 déc. 2008 à 05:57
Salut !
effectivement ce n'est pas bien !
Le plus propre est de stocker dans ta bdd les URL des images.
effectivement ce n'est pas bien !
Le plus propre est de stocker dans ta bdd les URL des images.
yamyoung
Messages postés
13
Date d'inscription
mercredi 9 janvier 2008
Statut
Membre
Dernière intervention
3 janvier 2010
1
23 déc. 2008 à 12:49
23 déc. 2008 à 12:49
Merci pour les reponses!!
Moi j'ai un dossier à part où j'ai stocker mes images.
Mon problème c cmment inserer l'URL de l'image dans la base en cliquant sur "parcourir"?? et puis comment faire pour visualiser l'image dans mon site(affichage)??
Et merci!!
Moi j'ai un dossier à part où j'ai stocker mes images.
Mon problème c cmment inserer l'URL de l'image dans la base en cliquant sur "parcourir"?? et puis comment faire pour visualiser l'image dans mon site(affichage)??
Et merci!!
ScarfaceMontana
Messages postés
10
Date d'inscription
vendredi 19 novembre 2010
Statut
Membre
Dernière intervention
14 novembre 2012
1
24 mai 2012 à 13:21
24 mai 2012 à 13:21
SI vous avez trouver la reponse à cette question elle sera la bienvenu, j'ai le mm probleme
En fait j'ai une table personne et j'ai Num, nom prenom photo et cv par exemple. je veux pouvoir tt enregistrer dans cette table et ensuite tout afficher sur mon site.mes images sont dans le répertoire mais dans la base toujours rien. au fait est-on obligé d'avoir une table image à part avec les champs "NoImage (Clée, Integer, Autoincrement), TypeImage (un string, qui va contenir le type MIME de l'image), DataImage (un BLOB)" omme indiqué ci-haut?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bikarfioul
Messages postés
40
Date d'inscription
jeudi 15 juillet 2004
Statut
Membre
Dernière intervention
28 juin 2010
5
23 déc. 2008 à 16:42
23 déc. 2008 à 16:42
La méthode va être comme suit.
Ton utilisateur va cliquer sur parcourir choisir son image puis cliquer sur envoyer.
Là le serveur va entrer en oeuvre recupérer l'image, la stocké dans le chemin indiqué dans ton code.
Ensuite pour afficher l'image il suffit juste d'indiquer dans la balise IMG la source rootpath de ton dossier de stockage plus le nom de l'image.
Ton utilisateur va cliquer sur parcourir choisir son image puis cliquer sur envoyer.
Là le serveur va entrer en oeuvre recupérer l'image, la stocké dans le chemin indiqué dans ton code.
Ensuite pour afficher l'image il suffit juste d'indiquer dans la balise IMG la source rootpath de ton dossier de stockage plus le nom de l'image.
chekaoumi
Messages postés
1
Date d'inscription
samedi 8 mars 2008
Statut
Membre
Dernière intervention
27 avril 2009
27 avril 2009 à 21:01
27 avril 2009 à 21:01
Bonjour,
Pourriez vous m'aider.
Je suis en train de créer un site web e-book (fictif) en utilisant php et mySQL, et mon problème je ne sais pas comment stocker les images des livres dans une base de donnée,s'achant qu'ils doivent s'aficher à une condition.
Pourriez vous m'aider.
Je suis en train de créer un site web e-book (fictif) en utilisant php et mySQL, et mon problème je ne sais pas comment stocker les images des livres dans une base de donnée,s'achant qu'ils doivent s'aficher à une condition.