PHP Imagecreatetruecolor : Allowed memory size....

PHP Imagecreatetruecolor : Allowed memory size.... - PHP - Programmation

Marsh Posté le 11-12-2016 à 18:23:54    

Bonjour
Je travaille sur des images JPEG avec une limitation de mémoire à 10Mo coté serveur et à 10Mo pour la taille du fichier envoyé.
A partir des photos de certains appareils, j'ai un bug au niveau de l'opération imagecreatetruecolor
 
> J'envoie une photo, elle est reçue et stockée correctement sur le serveur par move_uploaded_file
> J'extrais L et H, j'en sors des dimensions réduites (L1 et H1)
> $image_p = imagecreatetruecolor(L1,H1) ou H1,L1 je sais plus mais c'est dans le bon ordre, ok ?
et là, sur cette ligne l'ordi m'indique Allowed Memory size exceeded etc etc etc....
 
Le problème est que je n'ai pas l’erreur à chaque fois, il y a des photos pour lesquelles le problème ne se pose pas
Actuellement l'erreur survient sur un appareil photo
 

Code :
  1. array (size=1)
  2.   'PICFILE' =>
  3.     array (size=5)
  4.       'name' => string 'IMG_0050.JPG' (length=12)
  5.       'type' => string 'image/jpeg' (length=10)
  6.       'tmp_name' => string 'xxxxxxxxxxxxxxxxxxxxxxx\phpBC5.tmp' (length=22)
  7.       'error' => int 0
  8.       'size' => int 777262
  9. array (size=81)
  10.   'FileName' => string '1481476625_origine_file.jpg' (length=27)
  11.   'FileDateTime' => int 1481476625
  12.   'FileSize' => int 777262
  13.   'FileType' => int 2
  14.   'MimeType' => string 'image/jpeg' (length=10)
  15.   'SectionsFound' => string 'ANY_TAG, IFD0, THUMBNAIL, EXIF, INTEROP, MAKERNOTE' (length=50)
  16.   'COMPUTED' =>
  17.     array (size=11)
  18.       'html' => string 'width="4320" height="3240"' (length=26)
  19.       'Height' => int 3240
  20.       'Width' => int 4320
  21.       'IsColor' => int 1
  22.       'ByteOrderMotorola' => int 0
  23.       'CCDWidth' => string '6mm' (length=3)
  24.       'ApertureFNumber' => string 'f/8.0' (length=5)
  25.       'UserComment' => null
  26.       'UserCommentEncoding' => string 'UNDEFINED' (length=9)
  27.       'Thumbnail.FileType' => int 2
  28.       'Thumbnail.MimeType' => string 'image/jpeg' (length=10)
  29.   'ImageDescription' => string '                               ' (length=31)
  30.   'Make' => string 'Canon' (length=5)
  31.   'Model' => string 'Canon IXUS 130' (length=14)
  32.   'Orientation' => int 1
  33.   'XResolution' => string '180/1' (length=5)
  34.   'YResolution' => string '180/1' (length=5)
  35.   'ResolutionUnit' => int 2
  36.   'DateTime' => string '2015:02:18 19:40:44' (length=19)
  37.   'YCbCrPositioning' => int 2
  38.   'Exif_IFD_Pointer' => int 240
  39.   'THUMBNAIL' =>
  40.     array (size=6)
  41.       'Compression' => int 6
  42.       'XResolution' => string '180/1' (length=5)
  43.       'YResolution' => string '180/1' (length=5)
  44.       'ResolutionUnit' => int 2
  45.       'JPEGInterchangeFormat' => int 5108
  46.       'JPEGInterchangeFormatLength' => int 8192


---------------
http://www.ypikay.com
Reply

Marsh Posté le 11-12-2016 à 18:23:54   

Reply

Marsh Posté le 11-12-2016 à 21:34:26    

4320 x 3240 x 3 = 41 990 400
Si le jpg est décompressé en ram, on arrive à 41 Mo. Du coup, ça serait logique que ça plante puisque > 10 Mo, non ?


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 11-12-2016 à 22:51:27    

oui c'est probablement de là que vient l'erreur !


---------------
http://www.ypikay.com
Reply

Sujets relatifs:

Leave a Replay

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