base64解码图片在gif中

时间:2016-02-20 23:27:39

标签: php base64 gif

面对这样的问题,我无法将base64 gif字符串转换为gif文件并将其保存到磁盘,使用base64字符串获取其MIME类型 - application / octet-stream(视频流),插入以下代码(如下)并得到这个错误 - “imagecreatefromstring():数据不是在”,我不知道该做什么的识别格式。

    $img = base64_decode($photo);
    $f = finfo_open();
    $mime_type = finfo_buffer($f, $img, FILEINFO_MIME_TYPE);
    if($mime_type !== ImageHelper::MIME_TYPE_PNG
        && $mime_type !== ImageHelper::MIME_TYPE_JPEG
        && $mime_type !== ImageHelper::MIME_TYPE_STREAM) {
        throw new HttpException(400);
    }

    if($mime_type == ImageHelper::MIME_TYPE_STREAM) { // image gif
        $name = ImageHelper::generateImageName() . '.gif';
        $path = $prefixPath . $name;
        $img_handler = imagecreatefromstring($img);
        if($img_handler !== false) {
            imagegif($img_handler, $path);
            imagedestroy($img_handler);
        } else {
            throw new HttpException(400);
        }
    } 

示例字符串 数据:图像/ GIF; BASE64,R0lGODlhuQBpANQdASAgQEIgQCBOQEJYQIk / QCCAQFqMQGDAQICYQMuLQIvCQMDWQCAggEsggCBJgE1ZgEpgwIJfgmCNgGDAgFyCwIWNg ...

更新: 有趣的是,这个问题当我转换gif文件时,我得到格式'application / octet-stream',而不是'image / gif'为什么?我找不到答案......

0 个答案:

没有答案