找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1301|回复: 0
打印 上一主题 下一主题

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

[复制链接]

2560

主题

2560

帖子

7622

积分

论坛元老

Rank: 8Rank: 8

积分
7622
跳转到指定楼层
楼主
发表于 2018-2-14 05:31:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

            PHP 将dataurl转成图片image方法
使用canvas 生成的图片,是使用dataurl的,php无法直接通过file_put_contents方法保存到本地电脑,需要做一下转码。
图片dataurl 如下
$'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==';
方法一:
通过正则提取出dataurl存储所需的数据,然后直接展示在页面上
if (!preg_match('/data[^;]*);base64,(.*)/', $, $matches)) {
  die("error");
}

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

echo $content;
die;
方法二:
如果仅仅是想保存图片到本地,可以用substr 和 strpos 方法

$($,strpos($,",") + 1);
$decodedData = base64_decode($);
file_put_contents('11.png',$decodedData );
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
            
            
您可能感兴趣的文章:
  • getAsDataURL在Firefox7.0下无法预览本地图片的解决方法
  • 快速解决Canvas.toDataURL 图片跨域的问题
  • php实现 data url的图片生成与保存
            
  • 分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    用户反馈
    客户端