MOO! PHOTO UPLOADER

codefalse Messages postés 1123 Date d'inscription mardi 8 janvier 2002 Statut Modérateur Dernière intervention 21 avril 2009 - 5 févr. 2008 à 19:13
salsalero Messages postés 1 Date d'inscription jeudi 13 juillet 2006 Statut Membre Dernière intervention 28 février 2011 - 28 févr. 2011 à 05:05
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/45635-moo-photo-uploader

salsalero Messages postés 1 Date d'inscription jeudi 13 juillet 2006 Statut Membre Dernière intervention 28 février 2011
28 févr. 2011 à 05:05
Ca n'a pas l'air d'être le css le problème d'incompatibilité avec IE
cs_micropoint Messages postés 12 Date d'inscription dimanche 21 novembre 2004 Statut Membre Dernière intervention 20 mars 2010
17 févr. 2008 à 00:20
Bonjour,
je trouve ton script très bien mais car il y a toujours un mais, corriger certaine chose :
1 - il y a une petite erreur dans upload.php ligne 42 :
$req="INSERT INTO medias(titre_media,url,type) VALUES('titre_img','$url','IMAGE')"; : Il manque un espace entre media et (titre...)
2 - Tu devrais centralisé les variables, tant sur le chemin d'accès à la GreyBox que pour la connexion à la base de donné (un fichier ini.php par exemple)
3 - Dans ce même fichier, nous devrions pouvoir choisir la taille max de l'image importée et du thumb généré.

Sinon, comme je te le disait plus haut, c'est un trés bon script.
cs_guigui34 Messages postés 5 Date d'inscription mercredi 23 février 2005 Statut Membre Dernière intervention 16 avril 2009
9 févr. 2008 à 13:56
très bon script d'upload exactement ce que je cherchai
cs_vega11 Messages postés 39 Date d'inscription lundi 24 avril 2006 Statut Membre Dernière intervention 15 juillet 2010 1
8 févr. 2008 à 19:27
Ok ca doit etre une histoire de transparent oui dans la css je regarderais merci !

Pour plusieurs photos je comptais peu etre gerer des fichiers zippés ca peut etre sympa ya juste à dezipper et boucler au final et uploader que les fichiers qui sont des images valides..

je regarderais merci pour les critiques ;)
cs_pdl Messages postés 134 Date d'inscription mardi 20 novembre 2001 Statut Membre Dernière intervention 16 juin 2008
6 févr. 2008 à 10:34
Bon, j'ai regardé ta source et tu as oublié de dire qu'il faut aussi changer la connexion à la db dans le fichier upload.php.

Cela ne fonctionne pas avec IE, mais avec FireFox. Avec IE, les minis s'affichent derrière ton image de fonds et donc on ne sait pas les sélectionnés.

Si non, belle présentation. Ce qui serait cool, ce serait de pouvoir télécharger plusieurs images en même temps et les classer dans différentes catégories.

pdl
cs_vega11 Messages postés 39 Date d'inscription lundi 24 avril 2006 Statut Membre Dernière intervention 15 juillet 2010 1
5 févr. 2008 à 19:46
Bonjour,

Pour isValidImage il ne faut pas en tenir compte c'est un oubli facheux je dois le supprimer, en effet il ya deja une methode dans la ImageTransform pour verifier si c'est une image.

La classe ImageTransform n'est pas de moi c'est indique dans la classe...j'aurais du le preciser mais tout est commenté dans la classe et elle est en effet instancié apres la declaration de la classe puisque l'on utilise un seul objet de cette classe.

Pour move il me semble que l'upload est verifie puisque je retourne la reponse de if
move_uploaded_file sinon mon test ne marcherait pas lorsque je fais if($img->move) cela renvoi bien un boolean ^^ donc je ne vois pas vraiment le probleme.

Pour la base c'est une classe basique le but n'etait pas de faire tout un acces à la base avec classe abstraite + builder de base etc mais oui pourquoi pas.

Pour le petit plus c'est surtout que pendant l'upload on peut toujours faire des actions sur la page actuelle ce qui reste tres interessant, l'utilisateur n'est pas géné par le rechargement de la page.
De plus il n'y a pas que l'upload mais la redimension et la vignette qui reste tres tres utile... de bonnes classes de resize et de crop ne sont pas légions et je sais de quoi je parle lol.
Enfin cela initie à un framework javascript interessant qu'est mootools que j'aime beaucoup ^^

Pour la taille des fichiers encore une fois les developpeurs peuvent la specifier eux meme et s'arranger comme ils le souhaitent, si on veut pousser plus loin il faut sécuriser encore plus mais c'est vrai j'essairai d'arranger ca egalement :)
A noter que si le fichier n'est pas une image valide il n'y a pas d'upload.

Donc biensur c'est ameliorable et je tiens compte des remarques merci beaucoup mais si vous pouvez le tester ca peut etre assez pratique egalement pour m'indiquer ce qui va ou ne pas :)

Cordialement,

Laurent.
codefalse Messages postés 1123 Date d'inscription mardi 8 janvier 2002 Statut Modérateur Dernière intervention 21 avril 2009 1
5 févr. 2008 à 19:13
Yop,
Quelques remarques
Dans ta classe "Image", tu spécifie la portée de tes variables mais pas celle de tes méthodes. Pour une histoire de clarté, ce serait mieux de l'indiquer.
Dans ton constructeur, tu met
# function __construct($completeDirectory=false){
# if($completeDirectory!==false){
# $this->completeDirectory=$completeDirectory;
# }
# }
Donc si $completeDirectory n'est pas indiqué, tu met celle par défaut mais il n'y a pas de valeurs par défaut ?!

# function isValid($file){
# return $imageTransform->itsImage($file);
# }

$imageTransform n'existe pas, tu l'instancie (la récupere) ou dans ta classe ?
La classe ImageTransform est-elle de toi ? Car la facon de coder est completement différente ?!

Fonction move => Aucune analyse sur l'upload (s'il s'est bien effectué, etc).

Tu utilise une classe pour la base de donnée, c'est bien, mais une classe abstraite serait mieux. Ton code ne marche pas si j'utilise postgreSql :/

J'ai pas analysé le système d'upload dans le iframe, mais sache que même si le chargement se fait dans un iframe, tu à une limite de taille spécifiée par apache, donc il ne faut pas pousser mémé sur la taille des fichiers à uploader ! :)

###
Bref, tu a encore beaucoup de travail à faire avant d'arriver à quelque chose de convenable. Les scripts d'uploads sont légions ici, le tiens apporte-t-il quelque chose ? alors prouve le !
Rejoignez-nous