Сохранить GIF-анимацию

Я использую следующий скрипт для создания анимированных GIF-файлов: http://www.jeroenvanwissen.nl/weblog/php/howto-generate-animated-gif-with-php

if (!getimagesize($_FILES['myfile']['tmp_name']))
{
    array_push($errors, 'Invalid image file');
}
else
{
    $uploaded_type = exif_imagetype($_FILES["myfile"]["tmp_name"]); 

    switch($uploaded_type) 
    {
        case '1':
            $uploaded_type = 'gif';

            if(is_ani($_FILES['myfile']['tmp_name']))
                $is_animated = true;

            $image = imagecreatefromgif($_FILES['myfile']['tmp_name']);


        break;
        case '2':
            $uploaded_type = 'jpg';
            $image = imagecreatefromjpeg($_FILES['myfile']['tmp_name']);
        break;
        case '3':
            $uploaded_type = 'png';
            $image = imagecreatefrompng($_FILES['myfile']['tmp_name']);
        break;
    }

    list($width, $height, $type, $attr) = getimagesize($_FILES['myfile']['tmp_name']);
    $originalWidth = $width;
    $originalHeight = $height;
}

$new_image = imagecreatetruecolor($newWidth, $newHeight);

imagecopyresampled($new_image, $image, 0, 0, 0, 0, $newWidth, $newHeight, $originalWidth, $originalHeight); 

ob_start();
imagegif($new_image);
$frames[]=ob_get_contents();
$framed[]=40; 
ob_end_clean();

ob_start();
imagegif($new_image);
$frames[]=ob_get_contents();
$framed[]=40; 
ob_end_clean();

$gif = new GIFEncoder($frames,$framed,0,2,0,0,0,'bin');

$fp = fopen($baseUrl . $filename, 'w');
fwrite($fp, $gif->GetAnimation());
fclose($fp);

Есть ли способ сохранить gif-анимацию, если она уже существует? Мой чек на анимированные гифки, кажется, работает, но я не могу его поддерживать. Любая помощь горячо приветствуется.


person Johan    schedule 27.04.2012    source источник
comment
Вы имеете в виду хранить несколько GIF-файлов с одинаковым именем? если не использовать !file_exists   -  person Mihai Iorga    schedule 27.04.2012
comment
@MihaiIorga Я хочу знать, анимирован ли загруженный gif. Если это так, я хочу сохранить анимацию и просто изменить размер изображения до 50x50 пикселей.   -  person Johan    schedule 27.04.2012
comment
вы можете проверить, анимирован ли он, посмотрите в функции imagecreatefromgif is_ani для остальных должен зацикливаться в каждом кадре, изменять размер и добавлять в новое изображение gif   -  person Mihai Iorga    schedule 27.04.2012