您的位置:首页 > 编程语言 > PHP开发

PHP 将dataurl转成图片image方法总结

2016-10-14 00:00 197 查看
PHP 将dataurl转成图片image方法

使用canvas 生成的图片,是使用dataurl的,php无法直接通过file_put_contents方法保存到本地电脑,需要做一下转码。

图片dataurl 如下

$imgstr = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==';

方法一:

通过正则提取出dataurl存储所需的数据,然后直接展示在页面上

if (!preg_match('/data:([^;]*);base64,(.*)/', $imgstr, $matches)) {
die("error");
}

$content = base64_decode($matches[2]);
header('Content-Type: '.$matches[1]);
header('Content-Length: '.strlen($content));

echo $content;
die;


方法二:

如果仅仅是想保存图片到本地,可以用substr 和 strpos 方法

$imgdata = substr($imgstr,strpos($imgstr,",") + 1);
$decodedData = base64_decode($imgdata);
file_put_contents('11.png',$decodedData );


感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

您可能感兴趣的文章:

php日期转时间戳,指定日期转换成时间戳
PHP字符转义相关函数小结(php下的转义字符串)
php的urlencode()URL编码函数浅析
php循环语句 for()与foreach()用法区别介绍
php获取数组长度的方法(有实例)
PHP XML操作的各种方法解析(比较详细)
PHP 查找字符串常用函数介绍
PHP读取MySQL数据代码
PHP通过iconv将字符串从GBK转换为UTF8字符集
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  PHP dataurl 图片image