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


Posted in PHP onOctober 14, 2016

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 相关文章推荐
不用mod_rewrite直接用php实现伪静态化页面代码
Oct 04 PHP
PHP开发中常用的三个表单验证函数使用小结
Mar 03 PHP
php中通过curl模拟登陆discuz论坛的实现代码
Feb 16 PHP
获取PHP警告错误信息的解决方法
Jun 03 PHP
Laravel中扩展Memcached缓存驱动实现使用阿里云OCS缓存
Feb 10 PHP
php简单操作mysql数据库的类
Apr 16 PHP
PHP查找数值数组中不重复最大和最小的10个数的方法
Apr 20 PHP
php正则表达式学习笔记
Nov 13 PHP
Laravel 5.5官方推荐的Nginx配置学习教程
Oct 06 PHP
PHP实现QQ登录的开原理和实现过程
Feb 04 PHP
ThinkPHP整合datatables实现服务端分页的示例代码
Feb 10 PHP
PHP封装的非对称加密RSA算法示例
May 28 PHP
php版微信公众号接口实现发红包的方法
Oct 14 #PHP
PHP版微信第三方实现一键登录及获取用户信息的方法
Oct 14 #PHP
php版银联支付接口开发简明教程
Oct 14 #PHP
PHP二进制与字符串之间的相互转换教程
Oct 14 #PHP
php基于curl主动推送最新内容给百度收录的方法
Oct 14 #PHP
thinkphp分页实现效果
Oct 13 #PHP
php实现图片以base64显示的方法
Oct 13 #PHP
You might like
深入理解require与require_once与include以及include_once的区别
2013/06/05 PHP
跟着JQuery API学Jquery 之三 筛选
2010/04/09 Javascript
jQuery的链式调用浅析
2010/12/03 Javascript
改善用户体验的五款jQuery插件分享
2011/05/22 Javascript
解析jquery获取父窗口的元素
2013/06/26 Javascript
jQuery实现单击按钮遮罩弹出对话框(仿天猫的删除对话框)
2014/04/10 Javascript
javaScript如何处理从java后台返回的list
2014/04/24 Javascript
分享一个自己动手写的jQuery分页插件
2014/08/28 Javascript
node.js中的fs.readlinkSync方法使用说明
2014/12/17 Javascript
jQuery插件编写步骤详解
2016/06/03 Javascript
AngularJS 中文API参考手册
2016/07/28 Javascript
JS从数组中随机取出几个数组元素的方法
2016/08/02 Javascript
详解AngularJS中ng-src指令的使用
2016/09/07 Javascript
详解为Angular.js内置$http服务添加拦截器的方法
2016/12/20 Javascript
十大热门的JavaScript框架和库
2017/03/21 Javascript
js随机生成一个验证码
2017/06/01 Javascript
vue 使用eventBus实现同级组件的通讯
2018/03/02 Javascript
使用D3.js构建实时图形的示例代码
2018/08/28 Javascript
微信小程序template模板与component组件的区别和使用详解
2019/05/22 Javascript
[42:20]Secret vs Liquid 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
python实现汉诺塔递归算法经典案例
2021/03/01 Python
django项目运行因中文而乱码报错的几种情况解决
2017/11/07 Python
浅谈Python NLP入门教程
2017/12/25 Python
对python以16进制打印字节数组的方法详解
2019/01/24 Python
对python条件表达式的四种实现方法小结
2019/01/30 Python
pygame实现弹球游戏
2020/04/14 Python
CSS书写规范、顺序和命名规则
2014/03/06 HTML / CSS
动物学专业毕业生求职信
2013/10/11 职场文书
护士辞职信模板
2014/01/20 职场文书
小学生自我评价范文
2014/01/25 职场文书
护士进修自我鉴定
2014/02/07 职场文书
大学生个人实习的自我评价
2014/02/15 职场文书
爱心倡议书范文
2014/05/12 职场文书
张家口市高新区党工委群众路线教育实践活动整改方案
2014/10/25 职场文书
2019年恭贺升学祝福语集锦
2019/08/15 职场文书
SQL模糊查询报:ORA-00909:参数个数无效问题的解决
2021/06/21 Oracle