Insertion image dans une base MYSQL
Résolu
yamyoung
Messages postés
15
Date d'inscription
Statut
Membre
Dernière intervention
-
lailada -
lailada -
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.
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:
- Insertion image dans une base MYSQL
- Base de registre - Guide
- Image iso - Guide
- Légender une image - Guide
- Insertion sommaire word - Guide
- Insertion filigrane word - Guide
6 réponses
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.
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.
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!!
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
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.