Mettre des images dans sa base de données [Fermé]

Signaler
Messages postés
35
Date d'inscription
mercredi 13 décembre 2006
Statut
Membre
Dernière intervention
20 février 2007
-
Messages postés
591
Date d'inscription
lundi 22 février 2010
Statut
Membre
Dernière intervention
19 octobre 2013
-
Bonjour je souhaiterais mettre des image dans ma base de données pour pouvoir les afficher en fonction de la demande de l'internaute,
Mais on dit ( les voix du web lol) qe ça alourdit considerablement la base, alors à la place peut etre je pourais passer par des liens ftp pour mes images mais je ne sais pas comment faire quelqu'un pourait il me guidé svpppp
merci d'avance

9 réponses

Messages postés
2884
Date d'inscription
dimanche 30 juillet 2006
Statut
Modérateur
Dernière intervention
15 août 2020
813
Ce que je suggère, c'est de générer un nom aléatoire pour l'image (tu peux prendre le sha1 du chemin ou du nom par exemple), puis d'ajouter après certaines infos, comme les dimensions, comme ca tu peux les récupérer facilement pour l'affichage.
Par exemple, tu mets tes images dans un dossier /uploads/imgs/ et tu apelles chaque fichier sha1dunom-largeur-hauteur.ext
Comme ca, à l'affichage des images :
//on divise en 3 : 0:le chemin ; 2:hauteur ; 3:largeur
$InfosImages=explode('-',$CheminImage);

echo '<img src="',$CheminImage,'" style="width:',$InfosImages[2],'px;height:',$InfosImages[1],'px" alt="Texte alternatif" />';

Pour faire le formulaire, pense à des fonctions comme "move_uploaded_file" (pour stocker un fichier uploadé via formulaire je crois), "is_uploaded_file" (pour vérifier qu'on travaille sur un fichier uploadé), et toutes les fonctions avec "upload".

Pour des tutos, cherches "upload fichier formulaire", par exemple, tu trouveras surement facilement.
5
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

Messages postés
13
Date d'inscription
dimanche 7 août 2011
Statut
Membre
Dernière intervention
11 avril 2012
8
Salut,

Insérer des images directement dans sa base de donnée n'est vraiment pas top!
On cherchera plutot a y stocker son nom et son chemin d'accès vers son dossier d'upload ;)

Un petit tuto qui peut être utile :
https://webinfobazar.com/upload-dune-image-sur-un-ftp-php-sql/
Messages postés
2884
Date d'inscription
dimanche 30 juillet 2006
Statut
Modérateur
Dernière intervention
15 août 2020
813
Salut.

Pour stocker directement des fichiers dans ta base, tu peux utiliser le type BLOB.
(stockage au format binaire)
Mais c'est inutile dans ce cas là.
A mon avis, il vaut mieux faire un service d'upload d'images, et dans la BDD, stocker diverses informations sur l'image (ID, nom, personne qui l'a uploadée, etc).

Tu peux ensuite stocker tes images dans un dossier uploads/images par exemple.
Messages postés
35
Date d'inscription
mercredi 13 décembre 2006
Statut
Membre
Dernière intervention
20 février 2007
3
oui voila c'est un truc comme ça que je voudrais faire, mais je ne sais pa du tout comment!
il faut que je creé un fichier ( par exple image_telechargé)
et qu'avec un form je mette mes image dedans? ensuite que je mette le liens sur ma base? enfaite je sais pas du tout comment m'y prendre!
tu veux bien m'eclairer?
Messages postés
35
Date d'inscription
mercredi 13 décembre 2006
Statut
Membre
Dernière intervention
20 février 2007
3
ok merci je vais bosser sur tout ça ;) merci pour les infos
Messages postés
135
Date d'inscription
dimanche 5 novembre 2006
Statut
Membre
Dernière intervention
17 octobre 2009
136
Non, si tu met le même nom, le sha1 peut-être le même
tu met l'id de l'image en nom de fichier, l'id est tout le temps différent :p
exemple
ID : 5
5.jpg
Messages postés
2884
Date d'inscription
dimanche 30 juillet 2006
Statut
Modérateur
Dernière intervention
15 août 2020
813
Salut.


Conan a raison, mais à mon avis il y a peu de chances que des images aient le même nom et les mêmes dimensions.
Tu peux rajouter un champ avec le poids aussi, comme ca tu es pratiquement sur d'avoir des noms de fichiers différents.

Si tu veux, j'ai fait ce script qui me permet d'avoir une chaine plus ou moins aléatoire (à partir d'un mot de passe) :
$MDPlong=strlen($_POST['mdp']);
$DebutCoupeChaineMDP=mt_rand(0,($MDPlong/2)-1);
$FinCoupeChaineMDP=mt_rand($MDPlong/2,$MDPlong);
$ChaineAleatoire=sha1(str_shuffle(substr($DebutCoupeChaineMDP,$FinCoupeChaineMDP,$_POST['mdp'])));
--
Sylvain
"Join us now, and share the software. You'll be Free, hackers."
Messages postés
591
Date d'inscription
lundi 22 février 2010
Statut
Membre
Dernière intervention
19 octobre 2013
49
sha1(time()) me semble mieux , non ?
Salut pour ton soucis j viens de terminer exactement s que tu cherche
etant donné que comme toi je n ai pas trouver de script pret.
Je resume:
formulaire avec l envoie du fichier un champs nom un champs auteur et un champ descriptif.
Envoie de l image sur le serveur a la racine du dossier mais possibilité de les envoyer ou bon vous semble en retouchant une ligne du script.
Et pour finir les infos contenu dans le formulaire sont recuperer et enregistrer sur la base dans la table envoie (modifiable aussi).
Bonjour
s'il te plait j'ai besoin de savoir comment tu fais pour l'envoie de l image sur le serveur a la racine du dossier mais possibilité de les envoyer ou bon vous semble en retouchant une ligne du script.
merci
rym_nabeul
j'ai crée une base de donnée et je voudrais savoir comment je peux ajouter les images à la base de donnée et merci