здравствуйте, вообщем есть функция сохранения jpg картинок
if(exif_imagetype($tmp) == IMAGETYPE_JPEG) {
$image = imagecreatefromjpeg($tmp);
$path = $this->createdir().$name.'.jpg';
imagejpeg($image, $this->cdndir.$path, 100);
imagedestroy($image);
}
а вот такая же самая, но для ГИФ
if(exif_imagetype($tmp) == IMAGETYPE_GIF && $this->gif) {
header("Content-Type: image/gif");
$image = imagecreatefromgif($tmp);
$path = $this->createdir().$name.'.gif';
imagegif($image, $this->cdndir.$path);
imagedestroy($image);
}
но дело в том что при сохранении, картинка то имеет .gif расширение и тип, но анимация полностью пропадает и она становится статичной, не подскажите что за бред? уже нервов нет
Может лучше использовать move_uploaded_file ( https://secure.php.net/manual/ru/function.move-uploaded-file.php )?
if (fileformat == XX and filesize == YY and ... прочие проверки){
if (! move_uploaded_file($tmp, "$cdndir/$newname")){
echo 'file not saved';
exit;
}
}else{
echo 'file is not image'; //или не прошел проверку по иным парамертам (возможно слишком большой)
exit;
}
Дело в том что imagecreatefromgif сохраняет только первый кадр.
Возможно вам помогут file_get_contents и file_put_contents
$gif_image = file_get_contents("<URL анимации>");
header("Content-Type: image/gif");
echo $gif_image;
P.S. Либо погуглите какие нибудь библиотеки для сохранения анимации :)
Сборка персонального компьютера от Artline: умный выбор для современных пользователей