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 相关文章推荐
多文件上载系统完整版
Oct 09 PHP
PHP中对用户身份认证实现两种方法
Jun 04 PHP
浅谈json_encode用法
Mar 05 PHP
php简单统计字符串单词数量的方法
Jun 19 PHP
php算法实例分享
Jul 14 PHP
PHP统计当前在线用户数实例讲解
Oct 21 PHP
什么是OneThink oneThink后台添加插件步骤
Apr 13 PHP
php文件类型MIME对照表(比较全)
Oct 07 PHP
php写app接口并返回json数据的实例(分享)
May 20 PHP
visual studio code 调试php方法(图文详解)
Sep 15 PHP
PHP实现redis限制单ip、单用户的访问次数功能示例
Jun 16 PHP
PHP文件操作实例总结【文件上传、下载、分页】
Dec 08 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在字符串中查找另一个字符串
2008/11/19 PHP
7个鲜为人知却非常实用的PHP函数
2015/07/01 PHP
php实现表单多按钮提交action的处理方法
2015/10/24 PHP
php页面跳转session cookie丢失导致不能登录等问题的解决方法
2016/12/12 PHP
php文件上传及下载附带显示文件及目录功能
2017/04/27 PHP
简单的JS多重继承示例
2008/03/13 Javascript
jquery Firefox3.5中操作select的问题
2009/07/10 Javascript
兼容IE与firefox火狐的回车事件(js与jquery)
2010/10/20 Javascript
javascript重写alert方法的实例代码
2013/03/29 Javascript
jQuery之ajax技术的详细介绍
2013/06/19 Javascript
node.js中的buffer.toString方法使用说明
2014/12/14 Javascript
VUEJS实战之修复错误并且美化时间(2)
2016/06/13 Javascript
手机图片预览插件photoswipe.js使用总结
2016/08/25 Javascript
几行js代码实现自适应
2017/02/24 Javascript
Nuxt.js实战详解
2018/01/18 Javascript
angular 实现下拉列表组件的示例代码
2019/03/09 Javascript
vue项目前端错误收集之sentry教程详解
2019/05/27 Javascript
Element PageHeader页头的使用方法
2020/07/26 Javascript
[02:42]DOTA2英雄基础教程 杰奇洛
2013/12/23 DOTA
[08:08]DOTA2-DPC中国联赛2月28日Recap集锦
2021/03/11 DOTA
Python解决线性代数问题之矩阵的初等变换方法
2018/12/12 Python
在python下使用tensorflow判断是否存在文件夹的实例
2019/06/10 Python
解决win7操作系统Python3.7.1安装后启动提示缺少.dll文件问题
2019/07/15 Python
Python 分发包中添加额外文件的方法
2019/08/16 Python
全网最细 Python 格式化输出用法讲解(推荐)
2021/01/18 Python
意大利运动服减价商店:ScontoSport
2020/03/10 全球购物
保加利亚运动鞋购物网站:SneakerStudio.bg
2020/12/23 全球购物
给男朋友的道歉信
2014/01/12 职场文书
《蒲公英》教学反思
2014/02/28 职场文书
老龄工作先进事迹
2014/08/15 职场文书
幼儿园六一儿童节活动方案
2014/08/26 职场文书
丧事答谢词
2015/01/05 职场文书
体育部部长竞选稿
2015/11/21 职场文书
浅谈spring boot使用thymeleaf版本的问题
2021/08/04 Java/Android
使用HttpSessionListener监听器实战
2022/03/17 Java/Android
python数字图像处理:图像的绘制
2022/06/28 Python