bonjour,

je suis en train de construire mon site (encore une grosse fonctionnalité qu'est la gestion d'album photos que les membres peuvent proposer) mais j'ai actuellement un soucis assez étrange : j'ai une image (jpeg) de 74Ko, je l'upload et là miracle ! 493Ko =O comment se fais-ce ? oO par contre apres, je l'affiche et la redimensionne avec la méthode de notre bien aimé grafikart ^^ (dans un dossier thumbs) et là tout est plus logique : 190Ko...

quelqu'un a une explication ???

ps : les valeurs sont approximatives.

5 réponses


Havok
Réponse acceptée

Pour être de bien comprendre...

Tu as ton formulaire avec un input de type FILE.
Tu valides ton formulaire.
Une fois validé, le traitement PHP commence. Ton traitement est en fait un redimensionnement de l'image.
Une fois le redimensionnement terminé, tu déplaces l'image dans le répertoire que tu veux ? Tu n'utilises jamais de move_uploaded_file?

Si c'est ça, je pense que le problème vient de là.
Le changement de poids de l'image vient du traitement que tu fais sur l'image. Faudrait voir pour régler les paramètres de compression lors de la création de l'image.
Et pour être sûr faudrait essayer de faire le transfert de fichier avec un move_uploaded_file, sans traitement sur l'image. Normalement, elle devrait garder son poids original.

Tu en es bien sûr ? As-tu essayé avec une autre image ?

Flohw
Auteur

oui, sur et certain, je viens de vérifier : 90Ko pour l'originale, 473Ko pour l'upload et 160Ko pour la miniature.

je n'ai pas essayé avec d'autres images et je précise que je traite l'image avec la fonction resize du tuto des redimensionnement à la volée et que je laisse les parametres hauteur et largeur par défaut (zéro) puis je déplace dans le répertoire que je veux...

...]

Bug du site... A SUPPRIMER.

Flohw
Auteur

oui c'est bien ca, ma fonction d'upload vérifie que l'image soit correcte, qu'il n'y ai pas d'erreur et initialise les parametres comme il faut pour la fonction resize, qui elle fait à la fin, en fonction du type de fichier imagecreatefrom[jpeg|png|gif], la redimenssionne (imagecopyresampled) puis imagepng qui la déplace, enfin return true (dans le cas ou tout s'est bien passé) j'appelle la premiere fonction (qui crée les parametres) dans la fonction beforeSave de mon modele (j'utilise cakephp)

merci, je pense qu'effectivement le probleme vient de la fonction imagecreatefrom... mais je n'ai fait qu'appliquer le tuto GA ^^