Bonjour à tous!
Je me retrouve avec un problème comme l'indique le titre du sujet.
J'utilise la galerie GD et lorsque le visiteur envoi sont image GIF animé, je la redimenssionne afin que je puisse controler la taille du fichier sur le serveur.
Mais le soucis c'est que quand je réaffiche l'image, j'obtient seulement la première image de l'animation.
En gros c'est simplement une image et plus une animation.
Comment remédier à ce genre de problème?
<?php
if(isset($_FILES['image']))
{
$taille = getimagesize($_FILES['image']['tmp_name']);
$formatMaxAvatar = config('format_max_avatar', $table_config);
$maxLargeur = substr($formatMaxAvatar, 0, strpos($formatMaxAvatar, 'x'));
$maxHauteur = substr(strstr($formatMaxAvatar, 'x'), 1);
$taille[3] = $taille[0];
$taille[4] = $taille[1];
if($taille[3] > $maxLargeur)
{
$coefReducteur = $taille[0] / $maxLargeur;
$taille[4] = $taille[1] / $coefReducteur;
$taille[3] = $maxLargeur;
}
if($taille[4] > $maxHauteur)
{
$coefReducteur = $taille[4] / $maxHauteur;
$taille[3] = $taille[3] / $coefReducteur;
$taille[4] = $maxHauteur;
}
$source = imagecreatefromgif($_FILES['image']['tmp_name']);
$nomImage = md5(uniqid(rand(), true)).'.gif';
$destination = imagecreatetruecolor($taille[3], $taille[4]);
imagecopyresampled($destination, $source, 0, 0, 0, 0, $taille[3], $taille[4], $taille[0], $taille[1]);
imagegif($destination, $nomImage);
}
?>