Image trop grande

WhiteDwarf Messages postés 510 Date d'inscription samedi 29 décembre 2001 Statut Membre Dernière intervention 23 mai 2008 - 1 nov. 2007 à 14:04
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 - 1 nov. 2007 à 17:32
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

malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
1 nov. 2007 à 15:51
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.
0
WhiteDwarf Messages postés 510 Date d'inscription samedi 29 décembre 2001 Statut Membre Dernière intervention 23 mai 2008
1 nov. 2007 à 16:46
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
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
1 nov. 2007 à 17:32
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é.
0
Rejoignez-nous