Réduire la "lourdeur" des images ?

brute Messages postés 118 Statut Membre -  
coeus Messages postés 3296 Statut Membre -
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

  1. 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
    1. brute Messages postés 118 Statut Membre 13
       
      sauf que la plupart des images que j'ai en ce moment sur mon serveur sont en jpg !!
      0
    2. Utilisateur anonyme
       
      Désolé, je me suis trompé, je voulais dire "Fais les convertir en PNG"
      0
    3. brute Messages postés 118 Statut Membre 13
       
      bah justement !! si je les convertie en png, elle vont rester de la meme "lourdeur" ! non ?
      0
    4. Mihawk Messages postés 4753 Statut Contributeur 846
       
      Non, car tu peux baisser la qualité du JPG justement.
      0
  2. Utilisateur anonyme
     
    salut , tu peux compresser les images apres les avoir uploder, mais malheresement tu perds de la qualité.
    0
    1. brute Messages postés 118 Statut Membre 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
    2. Utilisateur anonyme
       
      tu peux le faire avec php
      0
    3. brute Messages postés 118 Statut Membre 13
       
      merci mais si tu avais lu en bas, tu verrais qu'on est dans le php là ^^
      0
  3. gew
     
    ca existe le mot "lourdeur" ?
    0
    1. brute Messages postés 118 Statut Membre 13
       
      je ne sais pas mais je ne voulais pas utiliser "la taille" des images ^^
      0
  4. Mihawk Messages postés 4753 Statut Contributeur 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
    1. brute Messages postés 118 Statut Membre 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
    2. brute Messages postés 118 Statut Membre 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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Utilisateur anonyme
     
    salut ,

    ajoute cette ligne apres imagejpeg()

    imagedestroy($dirname.$file); // ca permet de desallouer la memoire
    0
    1. brute Messages postés 118 Statut Membre 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
    2. Utilisateur anonyme
       
      essaie comme ca : imagedestroy($file);

      si ca marche toujours pas ajoute ceci en haut du document : ini_set("memory_limit" , "24M");
      0
    3. brute Messages postés 118 Statut Membre 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
    4. Utilisateur anonyme
       
      un petit apercu peut-etre ? ... lien de l'image par example
      0
    5. brute Messages postés 118 Statut Membre 13
       
      voilà ce que je vois (ma page) :
      http://img11.hostingpics.net/pics/924648Capture3.png
      0
  7. Mihawk Messages postés 4753 Statut Contributeur 846
     
    Hello,
    J'ai lancé un appel à d'autres aides sur le bureau, on va voir si quelqu'un peut venir à la rescousse !
    0
    1. brute Messages postés 118 Statut Membre 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
  8. coeus Messages postés 3296 Statut Membre 120
     
    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