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 相关文章推荐
第1次亲密接触PHP5(1)
Oct 09 PHP
php中将图片gif,jpg或mysql longblob或blob字段值转换成16进制字符串
Aug 23 PHP
基于PHP读取TXT文件向数据库导入海量数据的方法
Apr 23 PHP
浅析php中如何在有限的内存中读取大文件
Jul 02 PHP
如何使用php输出时间格式
Aug 31 PHP
用PHP和Shell写Hadoop的MapReduce程序
Apr 15 PHP
php实现paypal 授权登录
May 28 PHP
php线性表的入栈与出栈实例分析
Jun 12 PHP
php基于Snoopy解析网页html的方法
Jul 09 PHP
深入探究PHP的多进程编程方法
Aug 18 PHP
php生成唯一数字id的方法汇总
Nov 18 PHP
PHP新建类问题分析及解决思路
Nov 19 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
千呼万唤始出来,DOTA2勇士令状不朽宝藏Ⅱ现已推出
2020/08/25 DOTA
PHP 的 __FILE__ 常量
2007/01/15 PHP
用PHP连接MySQL代码的参数说明
2008/06/07 PHP
用PHP来计算某个目录大小的方法
2014/04/01 PHP
PHP中new static()与new self()的比较
2016/08/19 PHP
php 输入输出流详解及示例代码
2016/08/25 PHP
PHP创建单例后台进程的方法示例
2017/05/23 PHP
通过PHP的Wrapper无缝迁移原有项目到新服务的实现方法
2020/04/02 PHP
Prototype Function对象 学习
2009/07/12 Javascript
前淘宝前端开发工程师阿当的PPT中有JS技术理念问题
2010/01/15 Javascript
JS图片无缝滚动(简单利于使用)
2013/06/17 Javascript
JavaScript实现节点的删除与序号重建实例
2015/08/05 Javascript
jQuery带进度条全屏图片轮播特效代码分享
2020/06/28 Javascript
DropDownList实现可输入可选择(两种版本可选)
2016/12/07 Javascript
jquery插件treegrid树状表格的使用方法详解(.Net平台)
2017/01/03 Javascript
JS实现的自动打字效果示例
2017/03/10 Javascript
js实现不提示直接关闭网页窗口
2017/03/30 Javascript
jQuery异步提交表单实例
2017/05/30 jQuery
js中document.write和document.writeln的区别
2018/03/11 Javascript
js实现动态添加上传文件页面
2018/10/22 Javascript
webpack项目使用eslint建立代码规范实现
2019/05/16 Javascript
微信小程序实现页面监听自定义组件的触发事件
2020/11/01 Javascript
[01:03:22]LGD vs OG 2018国际邀请赛淘汰赛BO3 第一场 8.25
2018/08/29 DOTA
用Python中的wxPython实现最基本的浏览器功能
2015/04/14 Python
python+ffmpeg视频并发直播压力测试
2018/03/06 Python
Python+Django搭建自己的blog网站
2018/03/13 Python
python 正则表达式参数替换实例详解
2020/01/17 Python
scrapy在python爬虫中搭建出错的解决方法
2020/11/22 Python
HTML5 placeholder属性详解
2016/06/22 HTML / CSS
德国大型的家具商店:Pharao24.de
2016/10/02 全球购物
95%的面试官都会问到的50道Java线程题,附答案
2012/08/03 面试题
施工员岗位职责
2014/03/16 职场文书
协议书模板
2014/04/23 职场文书
Python Pandas pandas.read_sql_query函数实例用法分析
2021/06/21 Python
Python人工智能之混合高斯模型运动目标检测详解分析
2021/11/07 Python
css让页脚保持在底部位置的四种方案
2022/07/23 HTML / CSS