Réduire la "lourdeur" des images ?

brute Messages postés 112 Date d'inscription   Statut Membre Dernière intervention   -  
coeus Messages postés 3021 Date d'inscription   Statut Membre Dernière intervention   -
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

A voir également:

7 réponses

Utilisateur anonyme
 
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   Statut Membre Dernière intervention   13
 
sauf que la plupart des images que j'ai en ce moment sur mon serveur sont en jpg !!
0
Utilisateur anonyme
 
Désolé, je me suis trompé, je voulais dire "Fais les convertir en PNG"
0
brute Messages postés 112 Date d'inscription   Statut Membre Dernière intervention   13
 
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   Statut Contributeur Dernière intervention   846
 
Non, car tu peux baisser la qualité du JPG justement.
0
Utilisateur anonyme
 
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   Statut Membre Dernière intervention   13
 
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
 
tu peux le faire avec php
0
brute Messages postés 112 Date d'inscription   Statut Membre Dernière intervention   13
 
merci mais si tu avais lu en bas, tu verrais qu'on est dans le php là ^^
0
gew
 
ca existe le mot "lourdeur" ?
0
brute Messages postés 112 Date d'inscription   Statut Membre Dernière intervention   13
 
je ne sais pas mais je ne voulais pas utiliser "la taille" des images ^^
0
Mihawk Messages postés 4315 Date d'inscription   Statut Contributeur Dernière intervention   846
 
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   Statut Membre Dernière intervention   13
 
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   Statut Contributeur Dernière intervention   846
 
Utilise d'abord imagecreatefromjpeg($fichierSource) pour faire une image ressource.
0
brute Messages postés 112 Date d'inscription   Statut Membre Dernière intervention   13
 
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
 
salut ,

ajoute cette ligne apres imagejpeg()

imagedestroy($dirname.$file); // ca permet de desallouer la memoire
0
brute Messages postés 112 Date d'inscription   Statut Membre Dernière intervention   13
 
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
 
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   Statut Membre Dernière intervention   13
 
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
 
un petit apercu peut-etre ? ... lien de l'image par example
0
brute Messages postés 112 Date d'inscription   Statut Membre Dernière intervention   13
 
voilà ce que je vois (ma page) :
http://img11.hostingpics.net/pics/924648Capture3.png
0
Mihawk Messages postés 4315 Date d'inscription   Statut Contributeur Dernière intervention   846
 
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   Statut Membre Dernière intervention   13
 
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   Statut Membre Dernière intervention   119
 
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