Image trop grande

Signaler
Messages postés
510
Date d'inscription
samedi 29 décembre 2001
Statut
Membre
Dernière intervention
23 mai 2008
-
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
-
Bonjour,

Je développe un site et ai une petite gallerie photo collaborative, laquelle a une petite fonction de redimension d'images, mais lorsque les images sont trop grandes, ca ne marche pas.

Avez vous une idée pour résoudre mon problème ?

Voici le code :

function miniature($img_src,$img_dest,$dst_w,$dst_h) {
   $size = getimagesize($img_src);     $src_w $size[0]; $src_h $size[1]; 
   $test_h = round(($dst_w / $src_w) * $src_h);
   $test_w = round(($dst_h / $src_h) * $src_w);
   if(!$dst_h) $dst_h = $test_h;
   elseif(!$dst_w) $dst_w = $test_w;
   elseif($test_h>$dst_h) $dst_w = $test_w;
   else $dst_h = $test_h;
   $dst_im = imagecreatetruecolor($dst_w,$dst_h);
   $src_im = imagecreatefromjpeg($img_src);
   imagecopyresampled($dst_im,$src_im,0,0,0,0,$dst_w,$dst_h,$src_w,$src_h);
   imagejpeg($dst_im,$img_dest);
   imagedestroy($dst_im); 
   imagedestroy($src_im);
}

Merci
++

3 réponses

Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
22
Hello,

c'est la limite de la mémoire allouée à l'exécution d'un script php qui est atteinte.
Soit tu touches au php.ini pour modifier cette limite, soit tu interdis l'upload d'images au-dessus d'un certain poids sur ta galerie.
Messages postés
510
Date d'inscription
samedi 29 décembre 2001
Statut
Membre
Dernière intervention
23 mai 2008

Je suis sur un serveur mutualisé et ne peu pas toucher au php.ini, y'a t'il une solution autre que de bloquer au dessus d'une certaine taille (mes utilisateurs ne sont pas très avertis et ne savent pas forcément redimentionner une photo).

Y a t'il un moyen par le code php ?

----------------------
La lumière étant plus rapide que le son, un homme peu paraître brillant avant qu'il se mette a parler
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
22
Hello,

non. Travailler sur des images est lourd. On ne peut pas non plus TOUT faiore. La solution est de donner plus de mémoire à PHP pour bosser. Si tu ne peux pas, tu dois réduire le poids des images que tu travailles. pas d'autres alternative, surtout si tu es en mutualisé.