Bon voilà, je souhaite autoriser l'upload de fichier image en .jpg exclusivement...avec redimension le cas échéant.
Mais ça ne fonctionne pas
Voici mon code:
$target = "images/";
$extension = 'jpg';
$max_size = 100000;
$width_max = 425;
$height_max = 425;
$nom_file = $_FILES['fileimage']['name'];
$taille = $_FILES['fileimage']['size'];
$tmp = $_FILES['fileimage']['tmp_name'];
$nomImage = 'nom_image'.$extension;
//si les dimensions ne sont pas OK-->redimensionnement de l'image
$infos_img = getimagesize($_FILES['fileimage']['tmp_name']);
//Retourne la largeur d'une image
$imgWidth = $infos_img[0];
//Retourne la longueur d'une image
$imgHeight = $infos_img[1];
//Facteur largeur/hauteur des dimensions max
$whFact = $width_max/$height_max;
//Facteur largeur/hauteur de l'original
$imgWhFact = $imgWidth/$imgHeight;
//fixe les dimensions du thumb
if($whFact < $imgWhFact){//Si largeur déterminante
$thumbWidth = $width_max;
$thumbHeight = round($thumbWidth/$imgWhFact);
} else { //Si hauteur déterminante
$thumbHeight = $height_max;
$thumbWidth = round($thumbHeight*$imgWhFact);
}
//Crée le thumb (image réduite)
$imgThumb = ImageCreateTruecolor($thumbWidth, $thumbHeight);
$imageresize = imagecreatefromjpeg($nom_file);
imagecopyresampled($imgThumb, $imageresize, 0, 0, 0, 0, $thumbWidth, $thumbHeight, $imgWidth, $imgHeight);
//Insère l'image de base redimensionnée
imagejpeg($imgThumb, "{$target }{$nomImage}", 70);
chmod("{$target }{$nomImage}",0755);
//ImageCopyResized($imgThumb, $infos_img, 0, 0, 0, 0, $thumbWidth, $thumbHeight, $imgWidth, $imgHeight);
if(move_uploaded_file($_FILES['fileimage']['tmp_name'],$target.$nomImage)){
echo '<b>Transfert réussi avec l\'image redimensionnée.</b><br />';
}else{
// Si upload NOK on affiche une erreur système
echo '<b>Problème lors de l\'upload !</b><br /><br /><b>', $_FILES['fileimage']['error'], '</b><br /><br />';
}
C'est un mix de code glané sur le web...Le fichier est bien uploadé, mais il n'est pas redimensionné
J'obtiens ça:
Les deux lignes incriminées sont:Warning: imagecreatefromjpeg(joconde.jpg) [function.imagecreatefromjpeg]: failed to open stream: No such file or directory in /home.10.26/xxxx/www/xxxx/xxxx.php on line 152
Warning: imagecopyresampled(): supplied argument is not a valid Image resource in /home.10.26/xxxx/www/xxxx/xxxxx.php on line 153
Si une âme charitable avec de bon yeux...$imageresize = imagecreatefromjpeg($nom_file);
imagecopyresampled($imgThumb, $imageresize, 0, 0, 0, 0, $thumbWidth, $thumbHeight, $imgWidth, $imgHeight);