redimension lors du téléchargement

pingoo67
Invité n'ayant pas de compte PHPfrance

15 oct. 2007, 19:52

Bonjour,

Est il possible de redimensionner une image lors du téléchargement ?

J'aimerais que les photos que les utilisateurs ajoutent soit directement redimensionné en un format vignette...
Je ne peux les modifier lors de l'affichage et je ne souhaite pas limité le téléchargement aux photos qui ont e bon format.

Pouvez vous m'aider??

MERCI

Eléphant du PHP | 73 Messages

15 oct. 2007, 19:59

Va donc lire la doc sur php.net : imagecopyresized()

C'est on ne peut plus clair.
Image Un bon maître a ce souci constant : enseigner à se passer de lui.

pingoo67
Invité n'ayant pas de compte PHPfrance

15 oct. 2007, 20:56

ok merci, mais je ne comprend pas comment je peux modifier la taille de l'image alors quel n'a pas encore été télécharger ??

Eléphant du PHP | 443 Messages

15 oct. 2007, 21:00

ok merci, mais je ne comprend pas comment je peux modifier la taille de l'image alors quel n'a pas encore été télécharger ??
Y'a pas de solution à ton problème. La seule chose que tu peux faire (et qui t'a déjà été proposée) est d'uploader l'image, et côté serveur la retailler. (imagecopyresample(...) ou autre).

Il n'y a rien de standard en javascript/html pour ton besoin.

pingoo67
Invité n'ayant pas de compte PHPfrance

15 oct. 2007, 23:34

Donc si je comprend bien il est possible de redimensionner une image lorsque elle est enregistré sur le serveur??
Mais je n'arrive pas à utiliser la méthode imagecopyresized() ??
Pouvez vous me donner un exemple qui enregistrerais l'image en taille réduite?

MERCI bcp

Eléphant du PHP | 443 Messages

16 oct. 2007, 00:38

Donc si je comprend bien il est possible de redimensionner une image lorsque elle est enregistré sur le serveur??
Mais je n'arrive pas à utiliser la méthode imagecopyresized() ??
Pouvez vous me donner un exemple qui enregistrerais l'image en taille réduite?

MERCI bcp
google > imagecopyresampled

A la deuxième ligne tu trouveras la doc et un exemple.

Sinon evite imagecopyresized, le résultat est dégeulasse.

Tracker.

pingoo67
Invité n'ayant pas de compte PHPfrance

17 oct. 2007, 11:21

ok merci pour votre aide mais cette méthode n'est pas exactement ce que je cherche...

Ce que j'aimerais c'est lorsque je fais une "copy()" de mon image dans un repertoire j'aimerais faire une deuxième copy dans un autre répértoire avec des dimensions différentes :

Code : Tout sélectionner

copy($HTTP_POST_FILES['photo']['tmp_name'], $repertoire); copy($HTTP_POST_FILES['photo_bis']['tmp_name'], $repertoire_bis); // dimension différentes
MERCI

ViPHP
fab
ViPHP | 2657 Messages

17 oct. 2007, 11:31

Seul l'intelligent a le pouvoir de se trouver con
try { work(); } catch(FlemmeExeption $e) { sleep(84600); }

pingoo67
Invité n'ayant pas de compte PHPfrance

17 oct. 2007, 14:09

Voila j'ai testé "imagecopyresampled " mais la vignette n'est pas crée...
Voici l'erreur :
Warning: imagejpeg() [function.imagejpeg]: Unable to open 'mini_test.jpg' for writing in /var/www/vhosts/reducpasseport.com/httpdocs/phpinfo.php on line 52
Voici mon code :

Code : Tout sélectionner

$fichierSource = "test.jpg"; $largeurDestination = 200; $hauteurDestination = 150; $im = ImageCreateTrueColor ($largeurDestination, $hauteurDestination) or die ("Erreur lors de la création de l'image"); $source = ImageCreateFromJpeg($fichierSource); $largeurSource = imagesx($source); $hauteurSource = imagesy($source); imagecopyresampled($im, $source, 8, 8, 0, 0, $largeurDestination-(2*8), $hauteurDestination-(2*8), $largeurSource, $hauteurSource); imagestring($im, 0, 12, $hauteurDestination-18, "$fichierSource - ($largeurSource x $hauteurSource)", $blanc); $miniature = "mini_$fichierSource"; imagejpeg ($im, $miniature);
Pourquoi l'image n'est elle pas généré?

MERCI

ViPHP
ViPHP | 2287 Messages

17 oct. 2007, 14:28

Pourquoi l'image n'est elle pas généré?
Tout simplement parceque le serveur web n'a pas les permissions nécessaires pour écrire dans ce répertoire (et/ou sur ce fichier).
if(!@work()){ Nespresso(); } else { what(); }
______________________________

pingoo67
Invité n'ayant pas de compte PHPfrance

17 oct. 2007, 14:52

Ok merci ca fonctionne

MERCI BCP :D