upload d'image, librairie gd

ov3r
Invité n'ayant pas de compte PHPfrance

17 avr. 2006, 11:33

Salut à tous,
j'ai sur mon site un script permettan d'uploader une image.

Je voudrai traiter l'image de maniere à :
créer une image réduite pour l'affichage : red_$image
copier l'image originale pour agrandir la photo

Mon problème est que je n'arrive pas à uploader l'image, et a la traiter en meme temps.

Comment faire, je dois l'envoyer sur le ftp avant de la traiter ou pas ?

De plus je ne veux pas un ratio en longueur et largeur, je veux juste une taille fixe, comment faire ?

merci

Eléphant du PHP | 254 Messages

17 avr. 2006, 17:19

regarde de ce coté pour l'UL en partant d'un simple formulaire HTML :
http://www.phpfrance.com/tutoriaux/inde ... e-fichiers


et tu fais tes traitements a la suite ... si le UL c'est bien deroulé
tu as la fonction imagecopy ou imagecopyresized par exemple, a toi de lui donner les bon parametres

ov3r
Invité n'ayant pas de compte PHPfrance

17 avr. 2006, 18:50

je n'est pas de problème pour uploader l'image, c'est surtout pour la redimensionner que ca va me poser un problème.

Je veux créer une copie réduite avec de mettre les deux images sur le serveur

ov3r
Invité n'ayant pas de compte PHPfrance

18 avr. 2006, 10:49

up svp :$

ViPHP
ViPHP | 3607 Messages

18 avr. 2006, 10:56

http://www.phpdebutant.org/article111.php
c'est le cinquièmement
faudrait chercher un petit peu quand-même

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

18 avr. 2006, 10:57

faudrait chercher un petit peu quand-même
+1 :pouce:

C'est tellement vrai ... :roll:
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

ov3r
Invité n'ayant pas de compte PHPfrance

18 avr. 2006, 15:27

C'est gentil de m'aider, vraiment. Ca l'est moins de critiquer...

Ca n'est pas un tutorial sur la librairie gd que je voudrai savoir.

Je voudrai juste connaitre l'astuce pour traiter une image avant d' l'uploader.

Le liens qu'il doit y avoir entre l'upload, et le traitement de l'image.

Je l'upload, puis je la modifie ??
je la modifie, puis je l'uplaod ??


Je sais pas si c'est compréensible :s
merci quand meme de m'aider

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

18 avr. 2006, 15:39

Tant que tu ne l'as pas uploadé, php ne pourra pas la traiter puisqu'elle ne sera pas sur le serveur.

Il te faut donc bien l'envoyer sur le serveur dans un premier, la déplacer dans son dossier de destination, et alors seulement utiliser les fonctions pour venir traiter l'image et générer la vignette sur le serveur :)

ov3r
Invité n'ayant pas de compte PHPfrance

18 avr. 2006, 16:14

oki c'est bien ce que je pensais, et dans ce cas tout peux se faire sur la meme page ? (upload + traitement)

je trouve la fonction imagecopyresampled vraiment compliqué. :s:s

Dans cette ligne :
imagecopyresampled ( resource dst_im, resource src_im, int dstX, int dstY, int srcX, int srcY, int dstW, int dstH, int srcW, int srcH)

Je voudrai juste savoir ce que représente l'image d'origine, l'image de destination, hauteur et largeur de destination...

Et a quoi sert le reste ?? merci

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

18 avr. 2006, 17:13

C'est vrai que c'est un peu une usine à gaz juste pour retailler une image, mais elle permet également de faire énormément de choses...

l'image de destination : c'est ta futur vignette, il faut utiliser la librairie gd pour lui demander de créer une ressource image avec imagecreatetruecolor (gd2) ou imagecreate. Une fois l'image "ressamplé" il te faudra l'utiliser avec la méthode createjpg (par exemple) pour la générer physiquement sur le serveur.

l'image source : c'est l'image que tu viens d'uploader sur ton serveur. Attention, là aussi c'est une ressource obtenue à partir des fonctions imagecreatefromjpeg, imagecreatefromgif, etc. à déterminer selon le type de ton image initiale.

hauteur et largeur de destination sont les dimensions que tu veux donner à ta vignette, hauteur et largeur d'origine sont les dimensions actuelles de l'image.

les coordonnées te permettent de ne récupérér qu'une certaine zone de ton image permettant de faire des effets plutôt sympa en affichant en vignette qu'un morceau de l'image d'origine et non pas toute celle ci :)

ov3r
Invité n'ayant pas de compte PHPfrance

18 avr. 2006, 18:01

Bon bin ca fait encore 1h que je buche pour essayer de comprendre...

Tous les tutoriaux sont les meme sur le net, je perd patience, jabandonne...


merci quand meme