Modifier la taille d'un fichier image

Zenso -  
avion-f16 Messages postés 19254 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Je souhaiterai modifier la taille d'un fichier image après un upload sur mon site et je ne trouve pas de réponses sur les autres forums. Je voudrais éviter à mes clients d'être bloqué par la taille de leur fichier et de perdre du temps à le redimensionner eux-mêmes.

Si quelqu'un aurait un morceau de code ou quelque chose qui pourrait m'aiguiller.
Merci d'avance !!!

A très bientôt !



A voir également:

3 réponses

avion-f16 Messages postés 19254 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
Salut,

On peut traiter les images en PHP grâce à la bibliothèque GD.
http://www.siteduzero.com/tutoriel-3-36745-gd-redimensionner-une-image-sans-la-deformer.html
0
Vatar Messages postés 259 Date d'inscription   Statut Membre Dernière intervention   27
 
Tu m'ôtes les mots de la bouche ^^
0
Zenso
 
Je ne cherche pas à redimensionner l'image mais à modifier la taille du fichier : c'est à dire de diminuer un fichier de 2Mo à 500Ko !

Si j'ai bien lu le lien que vous m'avez envoyé, cette info n'y figure pas je crois !

Merci pour vos réponses rapides !
0
avion-f16 Messages postés 19254 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
Pour diminier le poids, il faut soit redimensionner l'image, soit la compresser si le format le permet (JPEG, PNG).

Encore un fois, GD permet de le faire.
Il suffit de charger l'image (imagecreatefrom...), et de la sortir avec :
https://www.php.net/manual/en/function.imagejpeg.php
https://www.php.net/manual/en/function.imagepng.php
En précisant la qualité.

Cependant, il n'est pas possible de dire « je veux que l'image fasse moins de 500ko », il faudra essayer à plusieurs reprises.
0
Zenso
 
En fait, l'idée n'est pas vraiment que ça prend de la place, mais que ça prend presque 2 minutes pour que ma page en charge 3 en même temps. Alors je me suis dis qu'en diminuant la taille des trois fichiers, ma page se chargerait plus rapidement.

Une idée pour que l'upload et la redimension se fasse plus vite ? 2 minutes c'est trop long, lol !
0
avion-f16 Messages postés 19254 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
Le traitement se fait sur le serveur, donc une fois l'envoie terminé.
0
Zenso
 
donc comment dois-je m'y prendre, je dois limiter mes clients à un nombre d'octets ?
0
avion-f16 Messages postés 19254 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
Tu peux utiliser un champ MAX_FILE_SIZE.
0
Zenso
 
Oui je connais cette fonction mais je pensais qu'il existait un autre moyen sans limiter les clients.

Je vais peut-être m'orienter vers un autre langage que le php ! Je vais réfléchir !
0