Erreur avec Librairie GD

Erreur avec Librairie GD - PHP - Programmation

Marsh Posté le 26-11-2005 à 22:54:14    

Lorsque j'utilise imagecreatefromjpeg() dans le but de redimentionner une photo de + de 200 ko, j'ai l'erreur Fatal error: Allowed memory size of 10485760 bytes exhausted (tried to allocate 1800 bytes) in ... chez un hébergeur payant (phpnet.org)
 
J'ai dû héberger l'appli chez free et là ca marche impec, un comble pour un gratut, dommage pour un payant  
 
http://photoligne.com

Reply

Marsh Posté le 26-11-2005 à 22:54:14   

Reply

Marsh Posté le 26-11-2005 à 23:55:55    

Si tu montrais ton script, on pourrait essayer de trouver un problème.

Reply

Marsh Posté le 27-11-2005 à 00:02:54    

Code :
  1. function resize($file, $dest_width, $dest_eight, $min, $ext)
  2.   {
  3.   $size = getimagesize($GLOBALS["rep"].$file);
  4.   if ($ext=="jpg" ) $src_img = imagecreatefromjpeg($GLOBALS["rep"].$file);
  5.   else $src_img = imagecreatefrompng($GLOBALS["rep"].$file);
  6.   $dst_img = imagecreatetruecolor($dest_width,$dest_eight);
  7.   imagecopyresampled($dst_img, $src_img, 0, 0, 0, 0, $dest_width, $dest_eight, $size[0], $size[1]);
  8.   if ($ext=="jpg" ) imagejpeg($dst_img, $GLOBALS["rep"].$min.$file, 60);
  9.   else imagepng($dst_img, $GLOBALS["rep"].$min.$file, 60);
  10.   imagedestroy($src_img);
  11.   imagedestroy($dst_img);
  12.   }


 
 
Mais bon, ca vient d'une limitation de l'hébergeur, pas d'une erreur de script

Reply

Marsh Posté le 27-11-2005 à 01:27:24    

Déjà, un conseil, le même que je viens de donner sur un autre topic, il ne faut pas faire de getimagesize sur un fichier GD, enfin, tu peux le faire, mais ça impose un accès disque et un chargement de l'entête de l'image pour aller y chercher les infos alors que la taille d'une image après le $src_img = imagecreatefromjpeg($GLOBALS["rep"].$file); est déjà contenu en mémoire et qu'on peut les récupérer avec $largeur=imagesx($src_img), $hauteur=imagesy($src_img);
C'est pas grand chose de gagner, mais sur de nombreux fichier, ça peut jouer.
Ensuite, apparement, phpnet.org t'offre 10Mo de mémoire pour tes scripts PHP, c'est déjà 2Mo de plus que le standard qui est de 8Mo et perso, sur mon dédié où j'ai laissé la taille par défaut de 8Mo, je traite des fichiers énormémement plus lourd que 200ko, je penche donc pour un problème de script.

Reply

Marsh Posté le 27-11-2005 à 02:37:55    

Merci d'avoir pris le temps de me répondre, je vais un peu obtimiser cette fonction (en évitant le getimagesize() ) et te tiens au courant.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed