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

Torie ·
更新时间:2024-09-20
· 523 次阅读

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 );

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

您可能感兴趣的文章:快速解决Canvas.toDataURL 图片跨域的问题getAsDataURL在Firefox7.0下无法预览本地图片的解决方法php实现 data url的图片生成与保存



image PHP

需要 登录 后方可回复, 如果你还没有账号请 注册新账号