CLASSE PHP5 D'UPLOAD / REDIMENSIONNEMENT D'IMAGE GD

bbcluny Messages postés 66 Date d'inscription mardi 25 mars 2003 Statut Membre Dernière intervention 29 septembre 2008 - 30 sept. 2005 à 15:40
tclo2 Messages postés 24 Date d'inscription mercredi 23 juillet 2003 Statut Membre Dernière intervention 6 décembre 2010 - 10 nov. 2010 à 12:48
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/34002-classe-php5-d-upload-redimensionnement-d-image-gd

tclo2 Messages postés 24 Date d'inscription mercredi 23 juillet 2003 Statut Membre Dernière intervention 6 décembre 2010
10 nov. 2010 à 12:48
Cette classe ne fonctionne pas avec le browser internet explorer: constanment j'ai alerle "Ce n'est pas un fichier image".
Par contre sous d'autres browsers, ca marche sans probleme. Pourriez-vous me dire comment remedier a cette situation?
cs_kate59 Messages postés 2 Date d'inscription lundi 4 février 2008 Statut Membre Dernière intervention 29 octobre 2010
29 oct. 2010 à 12:38
bonjour,
peut on modifier le code pour convertir les images png, gif en jpg avant l'upload. merci.
youssefchrifyoussefchrif Messages postés 1 Date d'inscription mercredi 12 décembre 2007 Statut Membre Dernière intervention 24 septembre 2010
24 sept. 2010 à 16:48
enfin il fonctionne merci pour ce script, n’oublie pas de determiner une liste des extensions valide exemple
$_valide_ext = array('gif', 'jpg', 'jpeg', 'png', 'swf', 'swc', 'psd', 'tiff', 'bmp',
'iff', 'jp2', 'jpx', 'jb2', 'jpc', 'xbm', 'wbmp', 'doc', 'txt', 'rtf', 'pdf', 'xls', 'rar', 'tar', 'zip', 'tgz', 'gz');
wakker Messages postés 1 Date d'inscription mardi 19 juin 2007 Statut Membre Dernière intervention 29 avril 2010
29 avril 2010 à 17:18
Cool, allez 9 !
master dje Messages postés 4 Date d'inscription mardi 24 août 2004 Statut Membre Dernière intervention 17 avril 2010
17 avril 2010 à 10:26
oups désolé autant pour moi l'erreur vient de moi xD
master dje Messages postés 4 Date d'inscription mardi 24 août 2004 Statut Membre Dernière intervention 17 avril 2010
17 avril 2010 à 10:24
Bonjour,

j'ai un parse error ligne 121... Pourtant la syntaxe est bonne... Quelqu'un a le même soucis ?
cs_lanner Messages postés 131 Date d'inscription samedi 16 avril 2005 Statut Membre Dernière intervention 8 avril 2015
27 mars 2010 à 16:58
Donc plus je test et plus c'est fort intéressant bravo

Par contre partant d'un png la couleur de fond reste noir meme avec $image->setColor(255,255,255); normal ?
cs_lanner Messages postés 131 Date d'inscription samedi 16 avril 2005 Statut Membre Dernière intervention 8 avril 2015
27 mars 2010 à 16:37
Salut

Quelqu'un pourrait faire une archive avec un formulaire directement fonctionnel (très simple sans design ni rien) ?
J'ai un peu de mal à mettre en pratique
Car je cherche a faire un upload d'image + champs textes à placer dans une bdd
Merci par avance pour le travail :)
cs_canibale Messages postés 33 Date d'inscription mardi 23 mai 2006 Statut Membre Dernière intervention 28 février 2009
14 mai 2008 à 19:20
Bonne source, très utile, hop un dix bien mérité !
rajas Messages postés 4 Date d'inscription vendredi 17 décembre 2004 Statut Membre Dernière intervention 7 mai 2008
7 mai 2008 à 18:41
J'ai eu aussi le message d'erreur cité plus haut : unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in classupload.php on line 10
En local ça fonctionne mais sur le serveur php5 de free le message apparait.
J'ai réglé le problème en supprimant tous les private et public devant function, et en remplaçant private par var devant les variables.
Maintenant ça fonctionne plutôt bien :-)
Par contre lorsque l'upload ne fonctionne pas, je n'ai pas le message d'erreur, il ne s'affiche pas. dommage.
J'ai essayé sans succès de régler le problème, je suis trop débutant.
En tout cas merci pour cette source
bonne programmation
ilya79 Messages postés 9 Date d'inscription samedi 18 juin 2005 Statut Membre Dernière intervention 15 février 2007
15 févr. 2007 à 15:18
Petite correction de bug, la classe detecte le type mime du fichier envoyé et execute des methodes en fonction du type. Or ce c... de IE renvoi pour les jpeg progressifs "image/pjpeg" et pas "image/jpeg" . Je t'invite a l'ajouter dans la liste des type mime reconnus ;)
ilya79 Messages postés 9 Date d'inscription samedi 18 juin 2005 Statut Membre Dernière intervention 15 février 2007
14 févr. 2007 à 16:32
tres sympa et simple d'utiliqation ta classe, la classe quoi :D (youppi pour le jeux de mots!)
cs_littlewings Messages postés 32 Date d'inscription mardi 30 décembre 2003 Statut Membre Dernière intervention 22 octobre 2008
20 janv. 2007 à 17:43
@Webdeb => c'est vrai. Aujourd'hui je ne mettrais guère plus...
Mais je continue de progresser, je posterais des trucs mieux fait dès que j'en aurais l'occasion !
Je suis actuellement en train de travailler sur une vraie classe de gestion de fichiers, qui j'espère sera meilleure.
webdeb Messages postés 488 Date d'inscription samedi 5 avril 2003 Statut Membre Dernière intervention 31 mars 2009 4
20 janv. 2007 à 14:00
Classe assez mal codée :s Je mets 5/10
krovomite Messages postés 54 Date d'inscription vendredi 4 juillet 2003 Statut Membre Dernière intervention 2 septembre 2009
18 oct. 2006 à 09:43
Salut,

J'aimerai savoir si le boutde code : "if (is_uploaded_file($this->uploadedFile))", est executé que si l'on a les droits en 775 sur le dossier dans lequel on veut uploader les fichiers, ou si cela peut venir d'autre chose ?

Merci :)
pouda Messages postés 264 Date d'inscription mercredi 18 décembre 2002 Statut Membre Dernière intervention 27 octobre 2014
1 oct. 2006 à 18:36
tres cool cette classe...je met 10
rommosc Messages postés 2 Date d'inscription vendredi 10 février 2006 Statut Membre Dernière intervention 10 février 2006
10 févr. 2006 à 19:50
et bien il me semble que si pourtant !!
archh...
cs_littlewings Messages postés 32 Date d'inscription mardi 30 décembre 2003 Statut Membre Dernière intervention 22 octobre 2008
10 févr. 2006 à 14:32
C'est tout simplement parce que tu n'utilises pas PHP5 !
rommosc Messages postés 2 Date d'inscription vendredi 10 février 2006 Statut Membre Dernière intervention 10 février 2006
10 févr. 2006 à 04:43
je tombe aussi sur une erreur à l'execution du script :

Parse error: parse error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in classupload.php on line 10

et la ligne 10 c'est celle ci :

private $uploadedFileName ;
cs_littlewings Messages postés 32 Date d'inscription mardi 30 décembre 2003 Statut Membre Dernière intervention 22 octobre 2008
17 janv. 2006 à 16:28
J'ajoute pour les néophytes : ne pas oublier de mettre enctype="multipart/form-data" et method="POST" dans la balise <form> !
cs_guybrush Messages postés 14 Date d'inscription jeudi 20 mars 2003 Statut Membre Dernière intervention 20 mai 2009
16 janv. 2006 à 11:48
L'erreur

Parse error: parse error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}'

peut apparaitre si vous n'utilisez pas le PHP5.
cs_littlewings Messages postés 32 Date d'inscription mardi 30 décembre 2003 Statut Membre Dernière intervention 22 octobre 2008
17 déc. 2005 à 08:29
Merci pour vos commentaires !

Mais où est cette erreur :

unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}'

?

Ca sserait sympa de me le signaler que je le corrige.
kabkinfr Messages postés 3 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 17 décembre 2005
17 déc. 2005 à 00:07
c'est bon, ca marche nickel !!

merci
cs_damne Messages postés 9 Date d'inscription mercredi 26 février 2003 Statut Membre Dernière intervention 2 janvier 2006
16 déc. 2005 à 22:43
Penses à donner les droits en écriture sur le dossier qui réceptionne les upload.
kabkinfr Messages postés 3 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 17 décembre 2005
16 déc. 2005 à 22:36
C'est bon, maintenant, il n'y a plus rien d'écrit, mais il n'y a aucun upload non plus...
kabkinfr Messages postés 3 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 17 décembre 2005
16 déc. 2005 à 22:24
J'ai un pb quand j'ésssaie d'utiliser ce code, il m'affiche:
unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}'

Pourriez vous m'indiquer d'où vient cette erreur?

Merci
boguet Messages postés 2 Date d'inscription mardi 26 avril 2005 Statut Membre Dernière intervention 24 novembre 2005
24 nov. 2005 à 20:17
Je n'ai pas trop compris ce nom classe...

Je peux ajouter ce code a mon script d'upload sans trop adapter?

Sorry mais je suis en noob lol.
cs_damne Messages postés 9 Date d'inscription mercredi 26 février 2003 Statut Membre Dernière intervention 2 janvier 2006
21 nov. 2005 à 08:32
Bon code !
Classe intéressante.
cs_littlewings Messages postés 32 Date d'inscription mardi 30 décembre 2003 Statut Membre Dernière intervention 22 octobre 2008
1 oct. 2005 à 11:00
Comme on se retrouve ! C'est marrant, la première personne à se servir de mon source est un ami à moi (et un collègue) ! ;-)
Pour la fonction javascript, j'avoue que je n'ai pas pris plus de temps pour me pencher dessus... Tu connais mon emploi du temps...
On continuera cette discution par mail, car ce site n'est pas un forum, et j'ai pas trop envie qu'on se fasse engueuler ! ^^
Tranus Messages postés 11 Date d'inscription vendredi 20 février 2004 Statut Membre Dernière intervention 22 mai 2006
1 oct. 2005 à 10:34
Yop Noor!

Intéressant cette classe maintenant que tu as mis un exemple d'utilisation... Je vais la tester.

Au fait, tu as trouvé la solution pour notre fonction Javascript?

A+

L'ami Kévin
cs_littlewings Messages postés 32 Date d'inscription mardi 30 décembre 2003 Statut Membre Dernière intervention 22 octobre 2008
30 sept. 2005 à 16:34
Bien sûr, j'aurais du en mettre un, autant pour moi !
Alors supposons que nous ayont un formulaire html avec un champ de type "file" avec un attribut name="monFichier". Dans la page PHP traitant les données de ce formulaire (en POST), on fera :

// instantiation d'un nouvel objet de type Upload

$myUpload = new Upload();

// upload du fichier sur le serveur
// pour cela, il faut renseigner le chemin de destination sur le serveur
// ici : le répertoire "img" à la racine

$uploadPath = "../img/";

// enfin, on balance l'upload
// 1er paramètre : nom du champs file du formulaire ;
// 2ème : chemin de destination sur le serveur ;
// 3ème : nouveau nom de fichier SANS EXTENSION car on prend celle du fichier d'origine (facultatif) => ici : "avatar";
// 4ème : côté maxi de l'image si c'est une image (90px par défaut, peut se modifier à la ligne ) ;
// 5ème : type attendu (défault : n'importe quel type) => ici, "thumb" est un paramètre lançant automatiquement le redimensionnement de l'image . Pour ajouter des types, il faut modifier la méthode uploadFile() de la classe (ou l'étendre).

$myUpload ->doUpload("monFichier",$uploadPath,"avatar","90","thumb");

// et si je veux récupérer le nom du fichier (pour l'insérer dans une BDD par exemple), je fais tout de suite après appel à la méthode getName () :

$nomduFichier = $myUpload->getName() ;

// Et voilà ! ^^ Une petite note SVP !
bbcluny Messages postés 66 Date d'inscription mardi 25 mars 2003 Statut Membre Dernière intervention 29 septembre 2008
30 sept. 2005 à 15:40
Salut,

peut on avoir un exemple d'utilisation de ta classe ?

Merci d'avance
Rejoignez-nous