Telechargement d'image et stockage

mazzette Messages postés 33 Statut Membre -  
Dalida Messages postés 7114 Date d'inscription   Statut Contributeur Dernière intervention   -
bjr,

J'ai réalisé un formulaire en PHP permettant de télécharger des images.
Cependant je souhaiterais stocker les images dna une table
Je sais que c'est possible mais j'aurais besoins de quelques conseils

(les images : ce sont des logos juste pas de photo)

Merci
A voir également:

1 réponse

ACNet Messages postés 64 Statut Membre 14
 
Bonjour,

les images sont généralement stockées dans des champs de type BLOB.
Pour te donner plus d'informations, il faudrait savoir quel SGBD tu emploies.

si ta base de donnée supporte cette fonctionnalité, il te suffit normalement de stocker le contenu de ton image (file_get_contents) dans une variable, que tu inséreras dans un champ de type blob.

Je te déconseille cependant fortement de stocker des images dans une base de données, il est souvent bien plus interessant de stocker uniquement le chemin d'accès à ces images.

Si tu as besoin d'informations supplémentaires, n'hésites pas.
0
mazzette Messages postés 33 Statut Membre 3
 
br,

Pourrais tu m'expliquer la démarche pour stocker les images dans une base de données, le chemind"accès d fichier ?


parce que j'ai tenté plein de truc mai je ni arrive pas et j'ai ma sotenance mardi du coup je sui en pleine panique...

Voici un exemple de page contenu dans le back office (je dois mettre un champ de fichier dans chacune de pages pour permettre la possibilité de joindre un fichier au formulaire)


Par exemple :

La page Partenaires liste les partenaires dans un tableau. La table contient les champs suivant Logo , dénomination, description et site web
Donc la page Partenaires contient ces champs dans un tableau
La page Ajout Partenaires est un formulaire contenant un champs de fichier pour le logo , un champ texte pour la dénomination, un champ zone de texte pour description et un champ texet pour site plus un bouton ajouter et réinitialiser
La je ne sais pas comment enregistrer le nom du fichier dans la table et je ne sais pas si dans la page Partenaires il m'affiche l'image ou juste le nom du fichier
Ensuite pour afficher l'image dans le front office, j'ai fait un espace de champ image pour kil m'afficeh l'image mais cela ne fonctionne pas
Comment dois je faire ?
Faut'il que je fasse un formulaire contenant juste les chamsp denomination, description et site web dans lequel je place un sous formulaire pour le champ de fichier ou d'image ?

Merci
0
Dalida Messages postés 7114 Date d'inscription   Statut Contributeur Dernière intervention   923
 
salut,

soit tu as un champ de la bdd (de type blob) dans lequel est stocké l'image en binaire, cette méthode est déconseillée.
soit tu as un champ texte ou est stocké l'url de l'image.

par exemple :
le champ url = "images\image_01.jpg"
et sur ton serveur il y un dossier nommé "images" qui contient le fichier "image_01.jpg".
mais ce fichier il faut que tu l'ai envoyé (upload) sur le serveur par un ftp ou par un formulaire http.

pour l'upload via http : vive la faq et un tuto.

bon courage.
0
mazzette Messages postés 33 Statut Membre 3 > Dalida Messages postés 7114 Date d'inscription   Statut Contributeur Dernière intervention  
 
Merci mathieu,
J'ai décidé de placer dans la table le chemin du fichier
donc jé créé ma page ajout dans laquelle est placé un champ de fichier

pour l'upload j'ai repris le code du tuto ... mais il m'affiche ceci :

Warning: move_uploaded_file(img/1.gif): failed to open stream: No such file or directory in c:\program files\easyphp1-8\www\oe\admin\upload.php on line 32

Warning: move_uploaded_file(): Unable to move 'C:/Program Files/EasyPHP1-8\tmp\php1B.tmp' to 'img/1.gif' in c:\program files\easyphp1-8\www\oe\admin\upload.php on line 32
Echec de l'upload !

mai je vois pas mon erreur... du moin je la comprend pas
0
Dalida Messages postés 7114 Date d'inscription   Statut Contributeur Dernière intervention   923 > Dalida Messages postés 7114 Date d'inscription   Statut Contributeur Dernière intervention  
 
salut,

ba vi ! tu n'utilises pas la fonction move_uploaded_file() comme il faut.
à savoir :
move_uploaded_file ( nom_dufichier, destination )

donc forcement i' veut pas !!!
-;o)

dans le tuto on te montre qu'il faut utiliser le nom du fichier temporaire $_FILES['avatar']['tmp_name'] ou 'avatar' est la valeur de l'attribut 'name' du <input>.

si en html tu as ça :
<input type="file" name="fichier">

en php, tu le traiteras avec :
move_uploaded_file($_FILES['fichier']['tmp_name'], 'img/1.gif')


voili, voila.
0