将GIF代码隐藏到GIF图像或输出到文件
Covert GIF code to GIF image or output to file?
我不知道该怎么说,所以如果标题有误导性,我很抱歉。我正在使用UPS的网络服务创建一个运输标签,这是以GIF的形式返回的,但不是以图像的形式返回,而是以长代码的形式返回:
R0lGODdheAUgA+cAAAAAAAEBAQICAgMDAwQEBAUFBQYGBgcHBwgICAkJCQoKCgsLCwwMDA0NDQ4ODg8PDxAQEBERERISEhMTExQUFBUVFRYWFhcXFxgYGBkZGRoaGhsbGxwcHB0dHR4eHh8fHyAgICEhISIiIiMjIyQkJCUlJSYmJicnJygoKCkpKSoqKisrKywsLC0tLS4uLi8vLzAwMDExMTIyMjMzMzQ0NDU1NTY2Njc3Nzg4ODk5OTo6Ojs7Ozw8PD09....... (etc)
我的问题是如何使用它来获得真正的GIF图像?最好是输出到文件,并使用JavaScript或PHP。
提前感谢!
字符串看起来像base64编码的数据。假设它实际上是一张图像,那么你可以这样解码:
$encodedGif = 'R0lGODdheAUgA+cAAAAAAAEBAQICAgMDAwQEBAUFBQYGBgcHBw...';
$decodedGif = base64_decode($encodedGif, true);
if ($decodedGif === false) {
die('Data has been corrupted. Unable to decode.');
}
一旦你有解码的数据,你可以把它保存到一个文件:
$file = 'image.gif';
if ( ! file_put_contents($file, $decodedGif)) {
die('Saving image did not work!');
}
或者你可以将其作为GIF图像输出到浏览器:
header('Content-Type: image/gif');
die($decodedGif);
输出此内容(这是GIF图像的二进制内容)的代码必须在标头中向服务器宣布此内容表示GIF图像(否则服务器不知道如何表示此内容)。因此,在头语句中的PHP代码应该定义如下内容:
header('Content-Type: image/gif');
看看http://php.net/manual/en/function.imagegif.php
相关文章:
- 在JavaScript中输出转义字符
- 如何在jQuery中将函数的输出分配给变量
- Javascript,输出结果后页面不断刷新
- 先预加载动画gif
- Datetime格式为Friendly Time.Moment JS输出错误
- 如何将angularjs中的javascript字符串输出为循环数组
- HTML5FileReader输出到D3.js图表
- console.log以外的Javascript输出函数
- Eloquent JavaScript递归示例如何终止为返回1,但仍然输出指数值
- PHP中的数组输出
- 以不同的顺序输出数据
- 使用Rivets.js输出类
- 在Chrome扩展内部输出Google API调用
- 如何为d3.js图表输出组织/嵌套数据
- 将IndexedDB中的数据拉入数组,并通过ReactJS输出
- 一个ajax循环有两个输出错误innerHTML
- 快速排序程序未正确输出
- 函数将输出nan而不是数字,为什么
- 在量角器中创建一个.txt错误输出文件是手动的,而不是控制台错误
- 将GIF代码隐藏到GIF图像或输出到文件