[原创]php实现 data url的图片生成与保存


Posted in PHP onDecember 04, 2016

Data URL是在本地直接绘制图片,不是从服务器加载,所以节省了HTTP连接,起到加速网页的作用。

语法:

data:image/jpg;    声明数据协议及类型名称
base64,               编码形式为base64
/9j/4AAQSkZ……    base64编码结果

Data URL的生成方法(php):

<?php  $img_file = file_get_contents("https://3water.com/img/logo_s2.png");  echo base64_encode($img_file);

注意:本方法适合于小图片,大图片就不要考虑了,另外IE8以下浏览器不支持这种方法。用这种方法会加重客户端的CPU和内存负担,总之有利有弊。

那么我们如何把网站上的Data URL格式的图片转存成实际图片呢?

其实很简单,我们把图片内容就是src部分传到后台,保存即可。

$img_content // 图片内容
if (preg_match('/^(data:\s*image\/(\w+);base64,)/', $img_content, $result)){
 $type = $result[2];
 $new_file = "./test.{$type}";
 if (file_put_contents($new_file, base64_decode(str_replace($result[1], '', $img_content)))){
  echo '新文件保存成功:', $new_file;
 }
}
PHP 相关文章推荐
用PHP函数解决SQL injection
Oct 09 PHP
php 连接mysql连接被重置的解决方法
Feb 15 PHP
php中echo()和print()、require()和include()等易混淆函数的区别
Feb 22 PHP
探讨:如何通过stats命令分析Memcached的内部状态
Jun 14 PHP
php获取从百度搜索进入网站的关键词的详细代码
Jan 08 PHP
php网站地图生成类示例
Jan 13 PHP
PHP合并discuz用户脚本的方法
Aug 04 PHP
php实现简易聊天室应用代码
Sep 23 PHP
PHP实现的同步推荐操作API接口案例分析
Nov 30 PHP
PHP控制反转(IOC)和依赖注入(DI)
Mar 13 PHP
php使用PDO从数据库表中读取数据的实现方法(必看)
Jun 02 PHP
对于Laravel 5.5核心架构的深入理解
Feb 22 PHP
php 魔术常量详解及实例代码
Dec 04 #PHP
深入浅出讲解:php的socket通信原理
Dec 03 #PHP
thinkphp实现分页显示功能
Dec 03 #PHP
thinkphp jquery实现图片上传和预览效果
Jul 22 #PHP
详解PHP用substr函数截取字符串中的某部分
Dec 03 #PHP
微信公众平台开发(五) 天气预报功能开发
Dec 03 #PHP
php die()与exit()的区别实例详解
Dec 03 #PHP
You might like
社区(php&amp;&amp;mysql)五
2006/10/09 PHP
php表单请求获得数据求和示例
2014/05/15 PHP
php操作mongoDB实例分析
2014/12/29 PHP
PHP6连接SQLServer2005的三部曲
2016/04/15 PHP
javascript的onchange事件与jQuery的change()方法比较
2009/09/28 Javascript
自制轻量级仿jQuery.boxy对话框插件代码
2010/10/26 Javascript
js确定对象类型方法
2012/03/30 Javascript
js转义字符介绍
2013/11/05 Javascript
javascript调试过程中找不到哪里出错的可能原因
2013/12/16 Javascript
Enter回车切换输入焦点实现思路与代码兼容各大浏览器
2014/09/01 Javascript
使用JavaScript脚本无法直接改变Asp.net中Checkbox控件的Enable属性的解决方法
2015/09/16 Javascript
JS表格组件BootstrapTable行内编辑解决方案x-editable
2016/09/01 Javascript
微信小程序 HTTPS报错整理常见问题及解决方案
2016/12/14 Javascript
微信小程序 本地存储及登录页面处理实例详解
2017/01/11 Javascript
js自定义瀑布流布局插件
2017/05/16 Javascript
nodejs socket实现的服务端和客户端功能示例
2017/06/02 NodeJs
NodeJS 实现手机短信验证模块阿里大于功能
2017/06/19 NodeJs
微信小程序之电影影评小程序制作代码
2017/08/03 Javascript
Vue.js实现输入框绑定的实例代码
2017/08/24 Javascript
JavaScript实现兼容IE6的收起折叠与展开效果实例
2017/09/20 Javascript
vue 监听某个div垂直滚动条下拉到底部的方法
2018/09/15 Javascript
vuex + axios 做登录验证 并且保存登录状态的实例
2018/09/16 Javascript
vue百度地图 + 定位的详解
2019/05/13 Javascript
Python中函数eval和ast.literal_eval的区别详解
2017/08/10 Python
图解Python变量与赋值
2018/04/03 Python
opencv python 图像去噪的实现方法
2018/08/31 Python
python异常处理try except过程解析
2020/02/03 Python
描述Cookie和Session的作用,区别和各自的应用范围,Session工作原理
2015/03/25 面试题
什么是反射
2012/03/17 面试题
中学生运动会口号
2014/06/07 职场文书
农业项目建议书
2014/08/25 职场文书
2014年全国法制宣传日宣传活动方案
2014/11/02 职场文书
新教师2015年度工作总结
2015/07/22 职场文书
幼儿园大班开学寄语(2016秋季)
2015/12/03 职场文书
中秋节作文(五年级)之关于月亮
2019/09/11 职场文书
电子表的操作介绍说明书
2019/10/28 职场文书