A l?aide ! Gestion complet du téléchargement de photos sous PHP/MySQL.

mathieu7497 Messages postés 7 Date d'inscription samedi 9 décembre 2006 Statut Membre Dernière intervention 14 mars 2008 - 9 déc. 2006 à 01:25
mathieu7497 Messages postés 7 Date d'inscription samedi 9 décembre 2006 Statut Membre Dernière intervention 14 mars 2008 - 9 déc. 2006 à 19:09
A l’aide !
Je ne comprends rien aux mécanismes de téléchargement de photos !! Je
trouve plein de portions de codes pour faire ceci ou cela mais aucune méthodo
complète pour télécharger, afficher, modifier, supprimer, etc des photos.  


Ce que je
voudrais faire est assez simple mais compliqué à la fois… Je serais très
reconnaissant à tous ceux qui pourraient m’aider.



 




Voici le
problème :


J’utilise la
base de données : vinobdd contenant les tables fiche et fiche_photos



Table : fiche





Contenant les champs : idfiche (clé
primaire) ; identifiant ; pass ; nom ; …





Table : fiche_photos





Contenant les champs : id (clé primaire) ;
idfiche ; titre ; nom_photo ; largeur ; hauteur .



 




Les
utilisateurs de mon site peuvent s’identifier et accéder à leur compte privé. J’identifie
chaque utilisateur par un identifiant nommé « idfiche » qui est passé
en variable de session de page en page.


Ainsi,
sachant la variable « idfiche » de l’utilisateur qui est connecté à
son compte, je peux connaitre toute les photos ayant pour clé primaire « id »
que l’utilisateur « idfiche » a téléchargé.


Mon problème
est de permettre à l’utilisateur de 
télécharger ses photos et de traiter le fichier correctement derrière.



 (Je fais pour l'instant tout en version locale avec easyphp d'où le localhost)




Problème1 :


Depuis le
fichier http://localhost/vino/vin/insertphotos.php
je souhaite que l’utilisateur puisse trouver un formulaire qui l’invite à
télécharger autant de photos qu’il veut et attribuer un titre à chacune d’elles.
(je me pose pas encore la question de limiter l’espace total…)   


Au niveau
traitement il faudra que tout ceci se passe quand il clic sur envoyer :



<!--[if !supportLists]-->

1-     

<!--[endif]-->Vérifier
que la taille de la photo ne dépasse pas disons 500Ko. J’ai trouvé peut-être un
bout de réponse :


Insérer cette ligne : n" name="MAX_FILE_SIZE" value="500000"
/> Avant le champ de téléchargement de fichier du formulaire en
question.



<!--[if !supportLists]-->

2-     

<!--[endif]-->Vérifier
que la photo est réellement une photo. (j’ai lu que l’on pouvait faire
télécharger des scripts pas sympas au format jpg…)



<!--[if !supportLists]-->

3-     

<!--[endif]-->Que
la photo soit renommée de manière unique. J’ai pour cela mis la main sur un
code qui à l’air bien :



<?php $unique_id md5(uniqid(time())); $filename $unique_id.'_'.$filename;
?>





<!--[if !supportLists]-->

4-     

<!--[endif]-->Que
la photo soit stockée dans le répertoire http://localhost/vino/img/fiches/



<!--[if !supportLists]-->

5-     

<!--[endif]-->Que
la table fiche_photos soit actualisée en entrant le « idfiche » de l’utilisateur
en question, le titre de la photo, son nouveau nom unique, sa largeur et sa
hauteur. Le paramètre « id » est auto incrémenté.



<!--[if !supportLists]-->

6-     

<!--[endif]-->Sans
vouloir paraître pointilleux, il serait bien que l’utilisateur puisse suivre l’état
d’avancement du téléchargement… (C pas le point le plus important mais je pense
que ça évite qu’il clic plusieurs fois sur le bouton ENVOYER.)



 




Problème2 :


A la fin du
processus de téléchargement, l’utilisateur doit être renvoyé vers une page où
il peut voir les photos qu’il a téléchargé et en supprimer ou en retitrer, s’il
le souhaite. (et même en rajouter d’autres ? peut-on tout mettre sur la
même page inserphotos.php  ? )



 



Problème3 
(N’est pas le plus essentiel mais j’imagine que si vous avez la réponse à tout
ce qui est au dessus vous aurez la réponse à ça !):


Les
internautes peuvent ensuite aller sur une page vousconnaitre.php afin de
regarder les photos d’un utilisateur en particulier (toujours identifié par l’ « idfiche ».)


J’aimerais
bien que les photos s’affichent disons dans un « cadre », ce cadre
serait coupé en deux.


La partie
gauche contiendrait toute les photos en versions thumbnails. Lorsque l’internaute clic
sur un thumbnail, la photo en taille agrandie s’affiche dans la partie de
droite du cadre ! Est-ce possible ? C pas mal de CSS non ?


Enfin,
comment faire pour que les photos, de gauche comme de droite soit dimensionné
toute à peut-prêt harmonieusement sans être distordu (le côté le plus grand
subi la taille limite imposée) ?



 




Je remercie
par avance tous ceux qui se pencheront sur le problème, tous ceux qui resterons
perplexe mais qui ont lu ce billet et enfin toute la communauté des développeurs
de manière large, débutants comme moi et experts généreux en particulier.


Merci d’être
assez pédagogique dans la réponse… S’il faut créer des fichiers php de
traitement, merci de bien vouloir l’indiquer.





Mathieu.

2 réponses

vilhjalms Messages postés 591 Date d'inscription mercredi 20 juillet 2005 Statut Membre Dernière intervention 16 juillet 2009 2
9 déc. 2006 à 18:31
Saell og blesud

Merci de ne poster 10 fois de suite pour le meme probleme


Vilhjál
ms
Sigurðsdóttir aka Frëyjá
0
mathieu7497 Messages postés 7 Date d'inscription samedi 9 décembre 2006 Statut Membre Dernière intervention 14 mars 2008
9 déc. 2006 à 19:09
Bonjour,
en fait les 2 messages ne sont pas les mêmes. Celui ci-dessus est bouré d'erreur lié au copier/coller depuis word.
A la base je voulais le remplacer par l'autre mais j'ai pas trouvé de bouton "modifier" ou "éditer" donc j'ai publié un nouveau msg.
L'ensemble du message ci-dessus peut-être supprimé si vous pouvez le faire.

Mathieu.
0
Rejoignez-nous