LiTtLeBuBu
Messages postés50Date d'inscriptionjeudi 19 décembre 2002StatutMembreDernière intervention10 février 2009
-
8 janv. 2008 à 17:32
LiTtLeBuBu
Messages postés50Date d'inscriptionjeudi 19 décembre 2002StatutMembreDernière intervention10 février 2009
-
8 janv. 2008 à 22:21
Bonjour à tous,
J'ai un code qui crée des miniatures après upload des photos. Quand j'envoi des photos de 400ko environ il n'y a aucun soucis mais lorsque les photos ont un poids de 1MO et plus il y a problème "Fatal error: Allowed memory size......"
Voici le code qui crée les miniatures:
<?php
function createthumb($name,$filename,$new_w,$new_h){
$system=explode('.',$name);
if (preg_match('/jpg|jpeg|JPG|JPEG/',$system[1])){
$src_img=imagecreatefromjpeg($name);
}
if (preg_match('/png/',$system[1])){
$src_img=imagecreatefrompng($name);
}
$old_x=imageSX($src_img);
$old_y=imageSY($src_img);
if ($old_x > $old_y) {
$thumb_w=$new_w;
$thumb_h=$old_y*($new_h/$old_x);
}
if ($old_x < $old_y) {
$thumb_w=$old_x*($new_w/$old_y);
$thumb_h=$new_h;
}
if ($old_x == $old_y) {
$thumb_w=$new_w;
$thumb_h=$new_h;
}
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 8 janv. 2008 à 20:01
Et puis à la limite si tu parviens à travailler sur une image comme ça, tu n'y arriveras pas sur plusieurs en boucle.
Normal...PHP ne libèrera pas les ressources correctement ni complètement.
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 8 janv. 2008 à 18:26
Hello,
travailler sur de plus petites images...
Non, GD est gourmand de toute manière. On est sur une techno web là, il ne faut pas l'oublier, c'est pas Photoshop ton truc. Faut pas trop lui en demander.
Seule solution à part ça : modifier la conf de php si tu le peux. Il s'agit de cette directive :
memory_limit
tu peux la modifier dans le php.ini, ou via un ini_set().
SI ton hébergement te le permet...
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 8 janv. 2008 à 19:37
c'est juste pour donner un ordre d'idee de ce qui consome GD
perso j'ai :
max@debian:~$ cat /etc/php5/apache2/php.ini | grep memory_limit
memory_limit = 128M ; Maximum amount of memory a script may consume (128MB)
max@debian:~$
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 8 janv. 2008 à 19:56
Ben essaye de travailler ton image avec GD et ce php.ini. Tu n'y arriveras pas.
Prend n'importe quel logiciel de retouche photo, fous lui une image de 20Mo, bosse dessus et regarde tes ressources CPU et la mémoire utilisée surtout. C'est exponentiel. Une image de 20Mo ne prend pas 20Mo de mémoire pour travailler dessus. Ce sera beaucoup plus gourmand.