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 相关文章推荐
php mysql Errcode: 28 终极解决方法
Jul 01 PHP
php各种编码集详解和以及在什么情况下进行使用
Sep 11 PHP
php对数组排序的简单实例
Dec 25 PHP
PHP中对各种加密算法、Hash算法的速度测试对比代码
Jul 08 PHP
thinkphp实现上一篇与下一篇的方法
Dec 08 PHP
php动态添加url查询参数的方法
Apr 14 PHP
Yii获取当前url和域名的方法
Jun 08 PHP
在PHP程序中使用Rust扩展的方法
Jul 03 PHP
php函数连续调用实例分析
Jul 30 PHP
常用PHP数组排序函数归纳
Aug 08 PHP
thinkphp中AJAX返回ajaxReturn()方法分析
Dec 06 PHP
Laravel如何使用数据库事务及捕获事务失败后的异常详解
Oct 23 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
如何使用Strace调试工具
2013/06/03 PHP
php使用curl获取https请求的方法
2015/02/11 PHP
php上传图片客户端和服务器端实现方法
2015/03/30 PHP
PHP实现远程下载文件到本地
2015/05/17 PHP
7个鲜为人知却非常实用的PHP函数
2015/07/01 PHP
10个基于jQuery或JavaScript的WYSIWYG 编辑器整理
2010/05/06 Javascript
js移除事件 js绑定事件实例应用
2012/11/28 Javascript
如何将php数组或者对象传递给javascript
2014/03/20 Javascript
JS使用onerror捕获异常示例
2016/08/03 Javascript
AngularJS教程之MVC体系结构详解
2016/08/16 Javascript
jQuery根据ID、CLASS、等获取对象的实例
2016/12/04 Javascript
jQuery实现的无缝广告图片左右滚动功能详解
2016/12/24 Javascript
详解JS中的attribute属性
2017/04/25 Javascript
Vue cli构建及项目打包以及出现的问题解决
2018/08/27 Javascript
详解如何构建Promise队列实现异步函数顺序执行
2018/10/23 Javascript
js删除对象/数组中null、undefined、空对象及空数组方法示例
2018/11/14 Javascript
React通过redux-persist持久化数据存储的方法示例
2019/02/14 Javascript
原生javascript制作的拼图游戏实现方法详解
2020/02/23 Javascript
ES6箭头函数和扩展实例分析
2020/05/23 Javascript
jQuery实现手风琴特效
2021/01/11 jQuery
Python列表推导式的使用方法
2013/11/21 Python
Python爬虫抓取手机APP的传输数据
2016/01/22 Python
pycharm使用matplotlib.pyplot不显示图形的解决方法
2018/10/28 Python
使用Python进行目录的对比方法
2018/11/01 Python
浅谈python实现Google翻译PDF,解决换行的问题
2018/11/28 Python
Python mutiprocessing多线程池pool操作示例
2019/01/30 Python
pycharm 安装JPype的教程
2019/08/08 Python
python基于三阶贝塞尔曲线的数据平滑算法
2019/12/27 Python
jupyter lab的目录调整及设置默认浏览器为chrome的方法
2020/04/10 Python
CSS3悬停效果案例应用
2012/11/21 HTML / CSS
俄罗斯化妆品和香水网上商店:Iledebeaute
2019/01/03 全球购物
King Apparel官网:英国街头服饰品牌
2019/09/05 全球购物
Timberland德国官网:靴子、鞋子、衣服、夹克及配件
2019/12/10 全球购物
大学生个人求职信
2014/06/02 职场文书
投资公司董事长岗位职责
2015/04/16 职场文书
Linux中Nginx的防盗链和优化的实现代码
2021/06/20 Servers