php проблемы с сохранением gif изображений

203
20 августа 2017, 06:29

здравствуйте, вообщем есть функция сохранения 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 расширение и тип, но анимация полностью пропадает и она становится статичной, не подскажите что за бред? уже нервов нет

Answer 1

Может лучше использовать 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;
 }
Answer 2

Дело в том что imagecreatefromgif сохраняет только первый кадр.

Возможно вам помогут file_get_contents и file_put_contents

$gif_image = file_get_contents("<URL анимации>"); 
header("Content-Type: image/gif"); 
echo $gif_image;

P.S. Либо погуглите какие нибудь библиотеки для сохранения анимации :)

READ ALSO
Обработка запроса Location в Telegram

Обработка запроса Location в Telegram

Есть бот, который обрабатывает запрос Location от пользователяВ случае, если на сервер приходит сообщение такого типа, бот может вернуть расстояние...

263
запрос mysql на php

запрос mysql на php

помогите составить запрос которым можно определить на каком месте определенная новость, те

210
Чем оправдано использование ActiveForm?

Чем оправдано использование ActiveForm?

Чем оправдано использование ActiveForm в случае создания сложных форм, которые состоят из полей множества моделей? И какие есть альтернативы,...

140
Bing translate парсер переводчик

Bing translate парсер переводчик

Народ помогите парсит бинг

196