|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : septembre 2010 Messages : 69 ![]() |
bonjour, je voudrais savoir la meilleur façon de gérer des images :
L'admin du site que je suis entrain de faire doit pouvoir insérer 3 photos (jusque là, pas de problème) ensuite, dans la fiche produit, J'aimerais qu'il y ai une grande photo et 3 petite en dessous. Quand on clic sur une petite, elle s'affiche en grand. quel est la meilleur façon de gérer cela ? que faut-il mettre dans les champ de la base de donnée ? bref comment feriez vous pour insérer trois photos et avoir sur la page 3 petite et 1 grande sans que ça prenne 2min a charger ? merci d'avance cFranssen |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Inscription : janvier 2006 Messages : 951 ![]() |
C'est impossible.
Si c'est lent c'est que ton image est trop grosse. php ne fera rien contre ça. Après tu peux faire une belle interface distrayante pour que la personne n'ai pas trop l'impression d'attendre.
__________________
PHP fait nativement la validation d'adresse électronique Utilisez le bouton résolu! |
|
|
00
|
|
|
#3 |
|
Membre régulier
![]() Laurent S.Inscription : novembre 2010 Messages : 71 ![]() |
salut,
pour ce faire il faudra procéder de cette façon : 1 - lors de l'ajout d'image tu fais un Upload des images grâce a PHP et tu stocke leurs noms dans une BDD. 2 - tu prends ces photos et tu fais un redimensionnement de ces images (librairie GD ou ImageMagick(préférence perso)) pour obtenir des miniatures que tu enregistre avec par exemple : nom_image_small.jpg sachant que cette image se nomme nom_image.jpg 3- tu utilises Javascript pour afficher tes images dans ta page avec le chargement de l'image normale en grand format et de 3 miniatures. 4- action au passage de la souris tu fait un rechargement du conteneur de l'image grand format en fonction de la valeur de l'image miniature de l'action. Et voila pas de chargement lourd et une optimisation nickel. Si tu souhaites un niveau d'accessibilité, il suffira de faire un paramètre sur ta page avec l'id de l'image a chargé en grand format et de mettre le lien sur chaque miniature avec un return false sur la fonction js associé pour les gens qui ont javascript ne rechargent eux pas la page. Bonne chance |
|
|
00
|
|
|
#4 |
|
Invité de passage
![]() Inscription : septembre 2010 Messages : 69 ![]() |
Il faut donc uploader une image, l'enregistrer en taille originale et en petite (2 fois la même image mais pas de la même taille sur mon serveur. C'est ça ?
donc 2 champ par photos dans ma bd, un "mini" et un "originale" ? pour le javascript, savez vous ou je peu trouver un code ? car je n'y connais pas grand chose au javaScript. merci d'avance |
|
|
00
|
|
|
#5 | ||||
|
Membre régulier
![]() Laurent S.Inscription : novembre 2010 Messages : 71 ![]() |
Pour les images c'est cela.
Pour le JavaScript c'est assez simple il suffit de faire un script simple : dans le head : Code javascript :
dans le body : (imageGD1,imageGD3,imageGD2 = nom de l'image + extension) Code javascript :
Bon courage |
||||
|
|
00
|
|
|
#6 | ||
|
Membre éprouvé
![]() Guillaume Développeur Web Inscription : décembre 2007 Messages : 353 ![]() |
Pour les images, un champs en base de données suffit.
champs "image" et champs "extension" nom_de_limage / .jpg (exemple) ensuite tu feras un Code :
__________________
Si ce que tu as à dire n'est pas plus beau que le silence, alors tais toi. - Pensez à voter pour les messages qui vous ont été utiles ainsi que de mettre
|
||
|
00
|
|
|
#7 |
|
Invité de passage
![]() Inscription : septembre 2010 Messages : 69 ![]() |
bonjour, radicaldreamer
je ne voie pas ce que j'y gagne car dans les 2 cas j'ai 2 champ dans la base larffas68 merci je teste de suite |
|
|
00
|
|
|
#8 | ||
|
Invité de passage
![]() Inscription : septembre 2010 Messages : 69 ![]() |
re, j'ai une problème avec le javascript:
il n'y a pas de grande image quand je passe la souris dessus. j'ai certainement fait une erreur voici mon code: Code :
|
||
|
|
00
|
|
|
#9 |
|
Invité de passage
![]() Inscription : septembre 2010 Messages : 69 ![]() |
c'est bon, ça fonctionne (j'avais oublier un "/")
mais est-il possible d'avoir une grande image dès le chargement de la page ? |
|
|
00
|
|
|
#10 |
|
Membre régulier
![]() Laurent S.Inscription : novembre 2010 Messages : 71 ![]() |
Oui la balise image :
Code :
<img src='img/big/DSC00633.JPG' id='GDimage'/> |
|
|
00
|
|
|
#11 | |
|
Membre éprouvé
![]() Guillaume Développeur Web Inscription : décembre 2007 Messages : 353 ![]() |
Citation:
Ensuite je te dis une astuce à toi de l'utiliser ou pas. Si tu ne vois pas, c'est pas grave, juste pour te dire que tu peux économiser de la place dans la base de données et des requêtes "lourdes" (plus qu'avec un seul champs en tout cas, puisque le champs extension tu peux le virer si tu convertis tout automatiquement en jpg, png ou ce que tu veux) et que Ô combien c'est important d’alléger la base de données étant l'un des premiers goulo d'étranglement des performances. L'avantage du système de mettre juste le nom et séparer l'extension c'est par exemple si tu veux un grande image, une miniature et une moyenne (par clique sur la moyenne tu arrives sur un zoom à la grande). Tu stockeras uniquement "nomimage" et ensuite, tu choisiras (par fonction ou en tapant directement) la taille que tu veux en faisant $result['image'].'_grande' (ou petite, ou moyenne). Suis-je plus précis? Cordialement, Guillaume
__________________
Si ce que tu as à dire n'est pas plus beau que le silence, alors tais toi. - Pensez à voter pour les messages qui vous ont été utiles ainsi que de mettre
|
|
|
00
|
|
|
#12 | |
|
Membre régulier
![]() Laurent S.Inscription : novembre 2010 Messages : 71 ![]() |
re, petite précision histoire de faire du coup encore mieux vu qu'il faut bien tout formalisé, si tu veux pouvoir gérés différents formats d'images (PNG,JPG,GIF) tu peux aussi enregistrer le nom de ton fichier avec extension par exemple :
Citation:
|
|
|
|
00
|
|
|
#13 | ||
|
Invité de passage
![]() Inscription : septembre 2010 Messages : 69 ![]() |
radicaldreamer
en effet c'est mieux, j'aimerais optimiser ce code: j'ai essayer de faire une boucle mais je n'arrive pas a mettre une variable dans "$_FILES['variable']". Code :
|
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com