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 相关文章推荐
Ajax+PHP 边学边练 之二 实例
Nov 24 PHP
PHP数据库调用类调用实例(详细注释)
Jul 12 PHP
php处理文件的小例子(解压缩,删除目录)
Feb 03 PHP
php中session退出登陆问题
Feb 27 PHP
php从数组中随机选择若干不重复元素的方法
Mar 14 PHP
PHP的Laravel框架中使用AdminLTE模板来编写网站后台界面
Mar 21 PHP
thinkPHP数据库增删改查操作方法实例详解
Dec 06 PHP
Yii框架扩展CGridView增加导出CSV功能的方法
May 24 PHP
PHP实现的观察者模式实例
Jun 21 PHP
PHP封装mysqli基于面向对象的mysql数据库操作类与用法示例
Feb 25 PHP
PHP实现百度人脸识别
May 06 PHP
Laravel Eloquent分表方法并使用模型关联的实现
Nov 25 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
PHP遍历某个目录下的所有文件和子文件夹的实现代码
2013/06/28 PHP
php中调用其他系统http接口的方法说明
2014/02/28 PHP
php实现比较两个文件夹异同的方法
2015/06/18 PHP
详解WordPress中用于合成数组的wp_parse_args()函数
2015/12/18 PHP
自用js开发框架小成 学习js的朋友可以看看
2010/11/16 Javascript
jQuery新的事件绑定机制on()示例应用
2014/07/18 Javascript
jquery中EasyUI实现异步树
2015/03/01 Javascript
JS+CSS实现的蓝色table选项卡效果
2015/10/08 Javascript
js实现(全选)多选按钮的方法【附实例】
2016/03/30 Javascript
AngularJs上传前预览图片的实例代码
2017/01/20 Javascript
react性能优化达到最大化的方法 immutable.js使用的必要性
2017/03/09 Javascript
xmlplus组件设计系列之列表(4)
2017/04/26 Javascript
实例分析js事件循环机制
2017/12/13 Javascript
探究一道价值25k的蚂蚁金服异步串行面试题
2020/08/21 Javascript
JavaScript实现图片放大预览效果
2020/11/02 Javascript
[02:42]2014DOTA2国际邀请赛 三冰专访:我会打到Ti20
2014/07/13 DOTA
[00:34]TI7不朽珍藏III——纯金地穴编织者饰品展示
2017/07/15 DOTA
[55:39]DOTA2-DPC中国联赛 正赛 VG vs LBZS BO3 第二场 1月19日
2021/03/11 DOTA
python将MongoDB里的ObjectId转换为时间戳的方法
2015/03/13 Python
python 回调函数和回调方法的实现分析
2016/03/23 Python
Python编程实现的简单神经网络算法示例
2018/01/26 Python
python如何实现int函数的方法示例
2018/02/19 Python
Python随机函数random()使用方法小结
2018/04/29 Python
Spring实战之使用util:命名空间简化配置操作示例
2019/12/09 Python
pandas实现DataFrame显示最大行列,不省略显示实例
2019/12/26 Python
pytorch 利用lstm做mnist手写数字识别分类的实例
2020/01/10 Python
Python unittest单元测试框架实现参数化
2020/04/29 Python
基于Python把网站域名解析成ip地址
2020/05/25 Python
PyInstaller运行原理及常用操作详解
2020/06/13 Python
Python爬虫之Selenium实现窗口截图
2020/12/04 Python
麦德龙官方海外旗舰店:德国麦德龙超市
2017/12/23 全球购物
导游欢送词
2015/01/31 职场文书
公司回复函格式
2015/07/14 职场文书
2016年中秋节晚会领导致辞
2015/11/26 职场文书
pytorch 预训练模型读取修改相关参数的填坑问题
2021/06/05 Python
Java中使用Filter过滤器的方法
2021/06/28 Java/Android