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 );
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
【说明】:本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:)!