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

yipeiwu_com6年前PHP代码库

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 MsSql server时遇到的中文编码问题

但导到sqlserver 2005后,发现其中文编码只支持GB 和 UCS-2(unicode 16),所以直接在数据库中查询显示正确,但使用php的utf9编码显示时则全是乱码。找了大...

PHP实现生成推广海报的方法详解

PHP实现生成推广海报的方法详解

本文实例讲述了PHP实现生成推广海报的方法。分享给大家供大家参考,具体如下: 经常有这样的需求,就是需要在生成推广海报,包含指定的二维码,分享出去别人扫码之后就可以确定用户推荐关系。 仔...

PHP数据流应用的一个简单实例

PHP数据流应用的一个简单实例

复制代码 代码如下: <?php $count = 5; start: if($count < 5) echo "You can try {$count} time, ";...

PHP生成各种随机验证码的方法总结【附demo源码】

PHP生成各种随机验证码的方法总结【附demo源码】

本文实例总结了PHP生成各种随机验证码的方法。分享给大家供大家参考,具体如下: 验证码在WEB应用中非常重要,通常用来防止用户恶意提交表单,如恶意注册和登录、论坛恶意灌水等。本文将通过实...

快速解决PHP调用Word组件DCOM权限的问题

快速解决PHP调用Word组件DCOM权限的问题

1. 首先必须要在电脑上安装 Office 2. windows+r : 输入 dcomcnfg.exe 打开组件服务,然后双击 组件服务 ==> 双击 计算机 ==> 双击...