Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2329 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Limitations de la librairie GD ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Limitations de la librairie GD ?

n°1783444
Aguila_73
Posté le 06-09-2008 à 19:03:34  profilanswer
 

Bonjour tout le monde.
Je rencontre une petite difficulté depuis pas mal de temps. Je n'ai jamais réussi à la résoudre. Aujourd'hui je me suis dit : Allez Tony, demande de l'aide !
C'est avec espoir donc que je m'en remet à vous tous ^^.
 
Alors voilà, je fais mon petit album photo en ligne. Je met des images, et mes amis peuvent laisser des commentaires, tel un "blog".  
Ces commentaires peuvent être "imagés", c'est à dire que chaque personne peut, en plus d'écrire du texte, cliquer sur le fameux bouton parcourir, sélectionner une image de 1Mo maxi (contrôle effectué sur la page de traitement du formulaire), et voilà ! Pour ces commentaires, je me suis pas foulé : au lieu de faire une liaison FTP, je passe en HTTP, truc basique quoi. On en vient au problème :
 
Quand bien même l'image ne fait que 150Ko (admettons), sur 4 000 000 de pixels (2000x2000), quand on upload le commentaire, la base de donnée se remplie bien, mais l'image ne s'upload pas.
GD intervient dans la page de traitement pour créer une miniature, puis ensuite le script copie les photos dans le répertoire qui va bien.
Pour des tailles "normales" comme 1200x789 pixels, c'est OK.
 
Ma question donc : n'y aurait-il pas une sorte de bog ou limitation de la librairie GD quand on essaye de lui faire traiter de trop nombreux pixels ?

mood
Publicité
Posté le 06-09-2008 à 19:03:34  profilanswer
 

n°1783447
Aguila_73
Posté le 06-09-2008 à 19:18:25  profilanswer
 

Bon, j'ai regardé ce probleme de plus près, j'ai du temps, il pleut donc...
Voici l'erreur :
 
Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 13332 bytes) in /homepages/17/d213990876/htdocs/monmien/site/scripts/fonctions_php/resize_images.php on line 11
 
A priori, le serveur aime pas que le prenne trop de mémoire à traiter trop de pixels.
Voici mon code de traitement :
 

Code :
  1. $id_rep = @opendir ($repertoire);
  2.   $size = @getimagesize ($repertoire."/".$fichier);
  3.   if ($size[1]==0){$size[1]=1;}//eviter les messages affichant l'erreur quand le fichier n'est pas transmit
  4.   $rapport = $size[0]/$size[1];
  5.   $height = $largeur / $rapport;
  6.   $source_image = imagecreatefromjpeg ($repertoire."/".$fichier);
  7.   $dest_image = imagecreatetruecolor ($largeur, $height);
  8.   imagecopyresampled ($dest_image, $source_image, 0, 0, 0, 0, $largeur, $height, $size[0], $size[1]);
  9.   imagejpeg ($dest_image, $repertoire."/_".$fichier, 75);
  10.   imagedestroy ($source_image);
  11.   imagedestroy ($dest_image);


 
Ca viendrait du imagecreatefromjpeg ... Je cherche et vous tiens informé.

n°1783569
CyberDenix
Posté le 07-09-2008 à 10:15:39  profilanswer
 

Dans ton php.ini, as-tu modifié la directive memory_limit ?

Code :
  1. memory_limit = 128M      ; Maximum amount of memory a script may consume (128MB)


 
Car tu sembles être limité à 8M...


Message édité par CyberDenix le 07-09-2008 à 10:16:57

---------------
Directeur Technique (CTO)

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Limitations de la librairie GD ?

 

Sujets relatifs
Creation archive sans librairie spécifique[RESOLU]Installation extension GD
librairie[Résolu][XSLT] Utilisation de la librairie redirect
inclure la librairie COM dans code::blocksInstallation Php5/GD/libjpeg sous linux
Mise au point : dépendance sur une librairie systeme, migration de proCompiler OpenSLL sous windows en librairie statique ?
Utiliser LZMA 7z comme librairie en internelibrairie js pour transformer du xml?
Plus de sujets relatifs à : Limitations de la librairie GD ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR