Réduire la "lourdeur" des images ?

Fermé
brute Messages postés 112 Date d'inscription samedi 8 mars 2008 Statut Membre Dernière intervention 19 juillet 2012 - Modifié par brute le 23/09/2011 à 18:21
coeus Messages postés 3021 Date d'inscription samedi 13 janvier 2007 Statut Membre Dernière intervention 19 juin 2013 - 5 oct. 2011 à 23:44
Bonjour,

j'ai mis sur mon site un système d'upload de photos. Maintenant, j'aimerais que ces photos soient réduites dès l'upload (en octet) parce que ca met trop de temps à s'afficher !

Merci

7 réponses

Fais les convertir automatiquement en PNG après l'upload.
Le BMP n'a aucune compression, donc est assez lourd.
Le JPG, quant à lui, effectue une compression, mais avec perte de qualité la plupart du temps.

Le PNG est compressé à un certain point, mais il n'y a pas de perte de qualité.
Internet ExplHorreur
1
brute Messages postés 112 Date d'inscription samedi 8 mars 2008 Statut Membre Dernière intervention 19 juillet 2012 13
23 sept. 2011 à 19:18
sauf que la plupart des images que j'ai en ce moment sur mon serveur sont en jpg !!
0
Utilisateur anonyme
23 sept. 2011 à 19:20
Désolé, je me suis trompé, je voulais dire "Fais les convertir en PNG"
0
brute Messages postés 112 Date d'inscription samedi 8 mars 2008 Statut Membre Dernière intervention 19 juillet 2012 13
23 sept. 2011 à 19:21
bah justement !! si je les convertie en png, elle vont rester de la meme "lourdeur" ! non ?
0
Mihawk Messages postés 4315 Date d'inscription mercredi 29 mars 2006 Statut Contributeur Dernière intervention 6 janvier 2015 846
23 sept. 2011 à 19:22
Non, car tu peux baisser la qualité du JPG justement.
0
Utilisateur anonyme
23 sept. 2011 à 18:31
salut , tu peux compresser les images apres les avoir uploder, mais malheresement tu perds de la qualité.
0
brute Messages postés 112 Date d'inscription samedi 8 mars 2008 Statut Membre Dernière intervention 19 juillet 2012 13
23 sept. 2011 à 19:11
il y a des centaines d'images !! donc je voudrais que ca se fasse directement juste après l'upload !! je ne veut pas passer par gimp pour les compresser !
0
Utilisateur anonyme
23 sept. 2011 à 20:03
tu peux le faire avec php
0
brute Messages postés 112 Date d'inscription samedi 8 mars 2008 Statut Membre Dernière intervention 19 juillet 2012 13
23 sept. 2011 à 20:05
merci mais si tu avais lu en bas, tu verrais qu'on est dans le php là ^^
0
ca existe le mot "lourdeur" ?
0
brute Messages postés 112 Date d'inscription samedi 8 mars 2008 Statut Membre Dernière intervention 19 juillet 2012 13
Modifié par brute le 23/09/2011 à 19:12
je ne sais pas mais je ne voulais pas utiliser "la taille" des images ^^
0
Mihawk Messages postés 4315 Date d'inscription mercredi 29 mars 2006 Statut Contributeur Dernière intervention 6 janvier 2015 846
23 sept. 2011 à 19:21
Hello,

Fais un tour du côté de la méthode PHP imagejpeg() qui permet de créer une image JPEG à partir d'une autre, tout en baissant la qualité.

Cdt,
0
brute Messages postés 112 Date d'inscription samedi 8 mars 2008 Statut Membre Dernière intervention 19 juillet 2012 13
Modifié par brute le 23/09/2011 à 19:42
ca m'affiche des erreurs !!
$dirname = './images/'; 
 $dir = opendir($dirname);  

  while($file = readdir($dir)) 
  { 
   if($file != '.' && $file != '..' && !is_dir($dirname.$file)) 
   { 
   imagejpeg($dirname.$file, NULL, 60); 
   } 
  } 

closedir($dir);

les erreurs : "Warning: imagejpeg(): supplied argument is not a valid Image resource in /mnt/......./fonctions/php.php on line 333"
0
Mihawk Messages postés 4315 Date d'inscription mercredi 29 mars 2006 Statut Contributeur Dernière intervention 6 janvier 2015 846
23 sept. 2011 à 19:45
Utilise d'abord imagecreatefromjpeg($fichierSource) pour faire une image ressource.
0
brute Messages postés 112 Date d'inscription samedi 8 mars 2008 Statut Membre Dernière intervention 19 juillet 2012 13
23 sept. 2011 à 19:47
merci beaucoup car toutes les erreurs sont parties ! néanmoins une nouvelle erreur est arrivée : "Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 20736 bytes) in /mnt/......./fonctions/php.php on line 333" !!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
23 sept. 2011 à 20:08
salut ,

ajoute cette ligne apres imagejpeg()

imagedestroy($dirname.$file); // ca permet de desallouer la memoire
0
brute Messages postés 112 Date d'inscription samedi 8 mars 2008 Statut Membre Dernière intervention 19 juillet 2012 13
23 sept. 2011 à 20:14
ca ne marche toujours pas :(
=> toujours l'erreur "Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 20736 bytes) in /mnt/......./fonctions/php.php on line 333" !!
0
Utilisateur anonyme
23 sept. 2011 à 20:17
essaie comme ca : imagedestroy($file);

si ca marche toujours pas ajoute ceci en haut du document : ini_set("memory_limit" , "24M");
0
brute Messages postés 112 Date d'inscription samedi 8 mars 2008 Statut Membre Dernière intervention 19 juillet 2012 13
23 sept. 2011 à 20:30
ca marche bizarrement !! ^^
=> ca me fait une page blanche avec l'image sauf que l'image contient du texte : "L'image 'http://mon_site.fr/photos_videos.php?dossier=1' ne peut être affichée car elle contient des erreurs." !!!!!
0
Utilisateur anonyme
23 sept. 2011 à 20:39
un petit apercu peut-etre ? ... lien de l'image par example
0
brute Messages postés 112 Date d'inscription samedi 8 mars 2008 Statut Membre Dernière intervention 19 juillet 2012 13
23 sept. 2011 à 21:36
voilà ce que je vois (ma page) :
http://img11.hostingpics.net/pics/924648Capture3.png
0
Mihawk Messages postés 4315 Date d'inscription mercredi 29 mars 2006 Statut Contributeur Dernière intervention 6 janvier 2015 846
24 sept. 2011 à 13:24
Hello,
J'ai lancé un appel à d'autres aides sur le bureau, on va voir si quelqu'un peut venir à la rescousse !
0
brute Messages postés 112 Date d'inscription samedi 8 mars 2008 Statut Membre Dernière intervention 19 juillet 2012 13
24 sept. 2011 à 13:47
wouahhhh merci beaucoup !
j'ai regardé et la librairie gd est bien activée, donc ce n'est pas un soucis à ce niveau !
mon header est bien placé avant tout texte html.
0
coeus Messages postés 3021 Date d'inscription samedi 13 janvier 2007 Statut Membre Dernière intervention 19 juin 2013 119
5 oct. 2011 à 23:44
Salut,

Excuse-moi si je répète, mais je n'ai pas lu tout le topic, alors tu me mettras au courant si j'ai manqué quelque chose.

Ça me semble être une erreur de mémoire. La fonction donnée par Mihawk devrait marcher.

Ouvre ton php.ini, et cherche l'attribut memory_limit. Change la ligne pour :
memory_limit = -1

Ça va faire que PHP ne s'arrêtera jamais devant une opération traitant de lourds fichiers.

Avec ça, tout devrait marcher. ;-)
0