Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 22/10/2006, à 16:40

Chaton

[Résolu] PHP : pb de taille d'allocation avec "ImageCreateFromJpeg"

Où puis modifier la taille d'allocation pour pouvoir exécuter la commande PHP suivante avec de grosses images ?
$source = ImageCreateFromJpeg($fichierSource);

Actuellement, avec une trop grosse image, la fonction me retourne :

Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 1632 bytes) in /home/arnaud/www/admin/admin.php on line 42

Note : comme émulation serveur, j'ai uniquement LAMPP
"sudo /opt/lampp/lampp start"

Merci d'avance,

Chaton.

Dernière modification par Chaton (Le 31/01/2007, à 22:48)

Hors ligne

#2 Le 04/11/2006, à 23:12

Chaton

Re : [Résolu] PHP : pb de taille d'allocation avec "ImageCreateFromJpeg"

Je me permet de faire un petit up, car cette limitation me gêne beaucoup.

[/troll off] Je tiens à signaler qu'avec EasyPHP sous W€, ça marche bien. [/troll on]

De plus, le code fonctionne sous linux avec des images de petite taille, mais explose avec des images supérieurs à 2 Mo.

C'est vraiment un problème d'allocation mémoire avec LAMPP.

function creeminiature($fichierSource, $fichierDest) 
  {     
   // Calcul des nouvelles dimensions
   list($width, $height) = getimagesize($fichierSource);
      if ($width < $height)
   {
    $largeurDestination = 150; 
    $hauteurDestination = 200; 
   }
      else
   {
    $largeurDestination = 200; 
    $hauteurDestination = 150; 
   }

    $im = ImageCreateTrueColor ($largeurDestination, $hauteurDestination)  
            or die ("Erreur lors de la creation de l'image");  

    $source = ImageCreateFromJpeg($fichierSource); 
     
    $largeurSource = imagesx($source); 
    $hauteurSource = imagesy($source); 

    ImageCopyResampled($im, $source, 0, 0, 0, 0, $largeurDestination, $hauteurDestination, $largeurSource, $hauteurSource); 


    $miniature = $fichierDest; 
    ImageJpeg ($im, $miniature);  

  }

C'est au niveau du ImageCreateFromJpeg de le code explose.

La taille d'allocation se paramètre-t-elle quelque part ?

Chaton.

Hors ligne

#3 Le 31/01/2007, à 22:48

Chaton

Re : [Résolu] PHP : pb de taille d'allocation avec "ImageCreateFromJpeg"

Bon, j'ai trouvé (sur un forum allemand tongue)

Il existe un paramètre qui détermine la taille mémoire maximum que peut prendre un script. Il est codé dans le /opt/lampp/etc/php.ini

Le paramètre par défaut est :

memory_limit = 8M      ; Maximum amount of memory a script may consume

Je l'ai passé à 64Mo :

memory_limit = 64M      ; Maximum amount of memory a script may consume

La commande ImageCreateFromJpeg est passée avec ma grosse image.

[Résolu] cool

Chaton.

Hors ligne