您好我从输入表格上传了一个数据:图片,它与png和jpg配合得很好 但我不能用GIF工作。
<input value="data:image/gif;base64,...................................." type="hidden" />
我需要什么:
从字符串创建一个没有丢失动画的文件。 (另一个问题)
复制到文件夹
问题
无论我试图上传什么gif,我都会从if(!$ image)获得该图片无效的错误。为什么?
如果我删除$ image = @imagecreatefromgif($ image);所有的作品,但图像复制只是gif的第一帧,所以它没有动画(我听说GD有问题,也许我只能从日期字符串复制完整的图像,但如何保存它?)
我试图使用Gifencoder和Gifdecoder以及imagemagick,但问题是它无法识别来自数据字符串的图像,我需要blob吗?
这是我的代码
function ImageUploadString($data_string)
{
$data_string = str_replace('data:image/gif;base64,', '', $data_string);
$data_string = base64_decode($data_string); // decode image from base64
$image = imagecreatefromstring($data_string);
if ($image !== false) {
$random_imagename = str_shuffle(MD5(microtime()));
$extention = "gif";
$ufname = 'folder/'.$random_imagename.'.'.$extention;
$image = @imagecreatefromgif($image); /* Attempt to open */
if (!$image) {
imagedestroy($image);
die('gif error');
}
imagegif($image, $ufname);
}
}
$imagebase = "data:image/gif;base64,..........................................";
ImageUploadString($imagebase);