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
Bonjour,
je suis nouveau dans le domaine de php, et on est entrain de préparer un projet(site web).
Mon problème c que je ne sais pas comment intégrer une image sur ma base.Est ce que tout simplement insérer l'URL dans la base??
Je ne sais pas commet récupérer L'URL de l'image dans la base(je clique sur parcourir et choisis l'image mais je ne sais commet récupérer l'URL en cliquant sur "valider").
je ai téléchargé beaucoup de codes sur ce sujet mais il me semble qu'ils sont un peut compliqué pour moi.
alors est ce vous pouvez m'aider à trouver la solution!!et merci d'avance.
A voir également:

6 réponses

D-Predator Messages postés 257 Date d'inscription dimanche 3 août 2008 Statut Membre Dernière intervention 25 janvier 2009 80
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.
2
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
Merci beaucoup les amis!!
Ça fonctionne comme une merveille!!
1
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
Salut !

effectivement ce n'est pas bien !

Le plus propre est de stocker dans ta bdd les URL des images.
0
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
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!!
0
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
SI vous avez trouver la reponse à cette question elle sera la bienvenu, j'ai le mm probleme
0
Bonjour. j'ai le mm problème. j'arrive à uploader mes images dans le dossier que j'ai choisi à cet effet, mais je n'obtient jamais le chemin des images dans la base de données mysql. comment faire dans ce cas? puisque sans cela, l'affichage est impossible sur mon site...
0
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?
0

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
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.
0
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
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.
0