首页  >  文章  >  后端开发  >  PHP 将dataurl转成图片image方法详解

PHP 将dataurl转成图片image方法详解

墨辰丷
墨辰丷原创
2018-06-01 09:30:562165浏览

这篇文章主要介绍了PHP 将dataurl转成图片image方法的相关资料,这里提供了两种方法及实现方式,需要的朋友可以参考下

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-fpm慢执行日志slow log的用法

php实现跨域提交form表单的方法

以上是PHP 将dataurl转成图片image方法详解的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn