Problème function imagecreate / Upload d'image
Posté : 22 févr. 2012, 09:30
Bonjour,
J'utilise un formulaire avec upload d'image et redimensionnement. Si j'upload une image plus petite que 800 sur 800px (Taille maximale dans le script), ça marche correctement (L'image est uploadée et redimmensionnée). Par contre, si l'image est plus grande, elle n'est pas redimmensionnée, mais est quand même envoyée dans le dossier image, et j'ai cette erreur :
Warning: imagecreate() [function.imagecreate]: Invalid image dimensions in /home/...../sign_up.php on line 129
Je crois que le problème est ici :
Le script vérifie si l'image est inférieure à WIDTH_MAX, HEIGHT_MAX et MAX_SIZE mais pas si elle est supérieure, ce qui cause l'erreur.
Je peux faire ça pour vérifier le poids de l'image :
Mais je ne sais pas où le placer pour qu'il déclenche un message d'erreur et annule l'inscription.
J'utilise un formulaire avec upload d'image et redimensionnement. Si j'upload une image plus petite que 800 sur 800px (Taille maximale dans le script), ça marche correctement (L'image est uploadée et redimmensionnée). Par contre, si l'image est plus grande, elle n'est pas redimmensionnée, mais est quand même envoyée dans le dossier image, et j'ai cette erreur :
Warning: imagecreate() [function.imagecreate]: Invalid image dimensions in /home/...../sign_up.php on line 129
Code : Tout sélectionner
// On verifie si l'image est dans les dimensions
if(($infosImg[0] <= WIDTH_MAX) && ($infosImg[1] <= HEIGHT_MAX) && (filesize($_FILES['image']['tmp_name']) <= MAX_SIZE))
//on redimentionne limage
$x = 75;
$y = 75; # Taille en pixel de l'image redimensionnée
if ($infosImg)
echo 'Image redimensionnée ...
';
if ($infosImg['mime']=='image/jpeg' ) {
$img_big = imagecreatefromjpeg($_FILES['image']['tmp_name']); # On ouvre l'image d'origine
$img_new = imagecreate($x, $y); ////////////////////////////////////////////////////////Ligne 129
# création de la miniature
$img_mini = imagecreatetruecolor($x, $y)
or $img_mini = imagecreate($x, $y);
..................................
// On renomme le fichier
$nomImage = md5(uniqid()) .'.'. $extension;
// Si c'est OK, on teste l'upload
if(move_uploaded_file($_FILES['image']['tmp_name'], TARGET.$nomImage))
{
$message = 'Upload réussi !';
}
else
{
// Sinon on affiche une erreur systeme
$message = 'Problème lors de l\'upload !';
}
Code : Tout sélectionner
if(($infosImg[0] <= WIDTH_MAX) && ($infosImg[1] <= HEIGHT_MAX) && (filesize($_FILES['image']['tmp_name']) <= MAX_SIZE)) Je peux faire ça pour vérifier le poids de l'image :
Code : Tout sélectionner
if (filesize($_FILES['avatar']['tmp_name']) > MAX_SIZE)