par
@rthur » 11 janv. 2022, 18:22
Il faut forcément que tu utilises imagecreatefromXXX où X est le format de ton image.
Voici ci-dessous une fonction imagecreatefromany() qui va déterminer automatiquement le format et donc d'utiliser la bonne fonction correspondante.
function imagecreatefromany($filepath) {
$type = exif_imagetype($filepath);
$allowedTypes = array(1, 2, 3, 6, 18); // gif, jpg, png, bmp, webp
if (!in_array($type, $allowedTypes)) return false;
switch ($type) {
case 1 :
$im = imagecreatefromgif($filepath);
break;
case 2 :
$im = imagecreatefromjpeg($filepath);
break;
case 3 :
$im = imagecreatefrompng($filepath);
break;
case 6 :
$im = imagecreatefrombmp($filepath);
break;
case 18 :
$im = imagecreatefromwebp($filepath);
break;
}
return $im;
}
Il faut forcément que tu utilises imagecreatefromXXX où X est le format de ton image.
Voici ci-dessous une fonction imagecreatefromany() qui va déterminer automatiquement le format et donc d'utiliser la bonne fonction correspondante.
[php]function imagecreatefromany($filepath) {
$type = exif_imagetype($filepath);
$allowedTypes = array(1, 2, 3, 6, 18); // gif, jpg, png, bmp, webp
if (!in_array($type, $allowedTypes)) return false;
switch ($type) {
case 1 :
$im = imagecreatefromgif($filepath);
break;
case 2 :
$im = imagecreatefromjpeg($filepath);
break;
case 3 :
$im = imagecreatefrompng($filepath);
break;
case 6 :
$im = imagecreatefrombmp($filepath);
break;
case 18 :
$im = imagecreatefromwebp($filepath);
break;
}
return $im;
} [/php]