Page 1 sur 1

Prob avec fonction taille photo

Posté : 26 mars 2010, 21:52
par mars77
Bonjour à tous,

J'ai un problème avec ma fonction pour réduire la taille de mes photos. J'ai tout le temps le même message d'erreur suivant :
erreur lors de la création de l'image
Le problème viens au moment de la création de l'image, mais je ne sais pas pourquoi ?

Voilà ma fonction:
<?php
//fonction pour modifier la taille des grandes images.
function taille_grand_photo($dir) {
//On ouvre le dossier images
    $handle  = opendir($dir);
//On parcoure chaque élément du dossier
    while ($file1 = readdir($handle))
        {
            //Si les fichiers sont des images
    if(preg_match ("!(\.jpg|\.jpeg|\.gif|\.bmp|\.png)$!i", $file1))
        {
         $listef = $file1;
//On calcule la largeur et la hauteur de l'image aléatoire
    $size = getimagesize($dir."/".$listef);
	//Largeur maximale de l'image pour la création des miniatures
    $largeur_maxi = 750;
    //Si la largeur dépasse la limite autorisée...
	    if ($size[0] > $largeur_maxi)
        {
            //...la nouvelle largeur est égale à la limite à ne pas dépasser
            $width = $largeur_maxi;
            //La largeur d'origine divisée par la largeur limitée (on obtient un chiffre qui sert à faire la même proportion pour la hauteur)
            $theight = ($size[0]/$largeur_maxi);
            //La hauteur originale est divisée par le chiffre obtenu précédemment afin que l'image conserve les mêmes proportions que l'originale (mais en mode vignette)
            $height = ($size[1]/$theight);
        }
    else
        {
            //Sinon on garde la taille originale
            $width = $size[0]; $height = $size[1];
        }
	// on crée une image vide	
$im=@imageCreateTrueColor($width,$height)or die ("erreur lors de la création de l'image");
	// on lit l'image existante 
	$source=imagecreatefromstring(file_get_contents($dir."/".$file1)); 
	
	// Redimensionne l'image
	imagecopyresampled(	$im,$source,0, 0, 0, 0,$width,$height,$size[0],$size[1]);
	// Enregistre la photo à la nouvelle dimention
   imageJpeg($im,($dir."/".$file1));
   // Détruit les ressources temporaires crées
	imagedestroy($im);
	imagedestroy($source);
 }
        }
    //On ferme le dossier
    closedir($handle);
	}
	
taille_grand_photo('grand/
Merci a celui qui pourra m'aider.

Re: Prob avec fonction taille photo

Posté : 26 mars 2010, 22:09
par visualight
Essaye un peu avec :
if (function_exists(imagecreatetruecolor)){
echo 'IMAGE CREATE TRUE COLOR EXISTE EN TANT QUE FONCTION GD 2 <br />';
$im=@imageCreateTrueColor($width,$height)or die  ("erreur lors de la création de l'image");
die();
}

Re: Prob avec fonction taille photo

Posté : 26 mars 2010, 22:16
par mars77
Voilà la réponse :
Notice: Use of undefined constant imagecreatetruecolor - assumed 'imagecreatetruecolor' in E:\wamp\www\Communparapente\club\photo\paraneige2010\install3.php  on line 32
IMAGE CREATE TRUE COLOR EXISTE EN TANT QUE FONCTION GD 2 
Comprends pas

Re: Prob avec fonction taille photo

Posté : 26 mars 2010, 22:18
par visualight
C'est un début ... et voici la fin :
http://www.wampserver.com/phorum/read.php?2,50331

a+
raph

Re: Prob avec fonction taille photo

Posté : 26 mars 2010, 22:33
par mars77
j'ai contrôlé mon fichier , il est juste.
; error_reporting
;   Default Value: E_ALL & ~E_NOTICE
;   Development Value: E_ALL | E_STRICT
;   Production Value: E_ALL & ~E_DEPRECATED
donc ce n'est pas ça

Re: Prob avec fonction taille photo

Posté : 26 mars 2010, 22:34
par visualight
As tu vérifié que tu possède bien GD2 activé et non imagemagik ?
Que dises les logs de wamp ?

Re: Prob avec fonction taille photo

Posté : 26 mars 2010, 22:40
par mars77
l'extention php_gd2 est cochée.

Donc normalement les paramètre son bon

Re: Prob avec fonction taille photo

Posté : 26 mars 2010, 22:43
par visualight
Vérifie toujours si dans le php.ini l'extension GD2 est activée.
Je me méfie toujours des interfaces utilisateurs

Un truc du genre :
extension=php_gd2.dll

et pas :
;extension=php_gd2.dll

Re: Prob avec fonction taille photo

Posté : 26 mars 2010, 22:47
par visualight
Edit : Augmente également memory_limit : 8Mb dans php_ini à 16Mb et teste à nouveau.

Re: Prob avec fonction taille photo

Posté : 26 mars 2010, 22:56
par mars77
je pense que c'est un problème Wamp. Il y a rien a faire

Re: Prob avec fonction taille photo

Posté : 26 mars 2010, 22:59
par visualight

Re: Prob avec fonction taille photo

Posté : 26 mars 2010, 23:14
par mars77
rien a faire même avec ces changements . je me demande si je veux pas réinstaller

Re: Prob avec fonction taille photo

Posté : 26 mars 2010, 23:16
par visualight
tant qu'à faire ... change pour easyphp ;)

Re: Prob avec fonction taille photo

Posté : 27 mars 2010, 03:31
par Calimero
tant qu'à faire ... change pour easyphp ;)
Euh... non, pas d'accord là.

Le message quelques posts plus haut indique que GD2 est bien installé et fonctionne, ce n'est pas la cause du souci. Et je vois pas trop en quoi EasyPHP est plus recommandable que wamp (mon expérience indiquerait plutôt le contraire...).

@mars77 : quelle est la taille (largeur, hauteur) de l'image que tu essayes de créer lors du bug ?

Il faut savoir que travailler des images peut rapidement être TRES gourmand en mémoire... Donc si tu augmentes le memory_limit (ce qui est une très bonne chose à faire car 8Mo, la config par défaut de PHP, c'est vraiment juste...) alors vas-y franchement : n'hésite pas à mettre au minimum, ou dépasser, 32Mo, ton serveur doit pouvoir le faire sans problème non ? Sur tous mes serveurs de développement je tourne avec des valeurs autrement plus élevées, 256Mo par ex, donc tu peux vraiment y aller, tu ne vas rien casser :). Pense à bien redémarrer le serveur web pour prendre en compte la modification, et dis nous si ça change quelquechose.

Re: Prob avec fonction taille photo

Posté : 27 mars 2010, 03:32
par stealth35
j'ai contrôlé mon fichier , il est juste.
; error_reporting
;   Default Value: E_ALL & ~E_NOTICE
;   Development Value: E_ALL | E_STRICT
;   Production Value: E_ALL & ~E_DEPRECATED
donc ce n'est pas ça
mais non ca les commentaires pour t'expliquer :lol:
la valeur est plus bas