[原创]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新手上路(十二)
Oct 09 PHP
一段防盗连的PHP代码
Dec 06 PHP
用PHP制作的意见反馈表源码
Mar 11 PHP
PHP中$_SERVER的详细参数与说明
Jul 29 PHP
PHP 程序员应该使用的10个组件
Oct 31 PHP
为PHP初学者的8点有效建议
Nov 20 PHP
php 连接mysql连接被重置的解决方法
Feb 15 PHP
php array_map()数组函数使用说明
Jul 12 PHP
ubuntu10.04配置 nginx+php-fpm模式的详解
Jun 03 PHP
PHP实现通过正则表达式替换回调的内容标签
Jun 15 PHP
PHP实现cookie跨域session共享的方法分析
Aug 23 PHP
php实例化一个类的具体方法
Sep 19 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 mysql Errcode: 28 终极解决方法
2009/07/01 PHP
PHP 返回13位时间戳的实现代码
2016/05/13 PHP
php基于dom实现的图书xml格式数据示例
2017/02/03 PHP
wordpress自定义标签云与随机获取标签的方法详解
2019/03/22 PHP
PHP使用CURL实现下载文件功能示例
2019/06/03 PHP
?牟┛途W扣了一??效果出?? target=
2007/05/27 Javascript
解决js正则匹配换行问题实现代码
2012/12/10 Javascript
主页面中的两个iframe实现鼠标拖动改变其大小
2013/04/16 Javascript
JavaScript动态改变表格单元格内容的方法
2015/03/30 Javascript
使用AmplifyJS组件配合JavaScript进行编程的指南
2015/07/28 Javascript
js实现兼容性好的微软官网导航下拉菜单效果
2015/09/07 Javascript
JavaScript实现body内任意节点的自定义属性功能示例
2017/09/18 Javascript
浅谈vue项目4rs vue-router上线后history模式遇到的坑
2018/09/27 Javascript
在js代码拼接dom对象到页面上的模板总结
2018/10/21 Javascript
JavaScript实现世界各地时间显示
2020/09/07 Javascript
使用Python装饰器在Django框架下去除冗余代码的教程
2015/04/16 Python
python统计cpu利用率的方法
2015/06/02 Python
python 定时修改数据库的示例代码
2018/04/08 Python
python3.6使用urllib完成下载的实例
2018/12/19 Python
python顺序执行多个py文件的方法
2019/06/29 Python
详解python 中in 的 用法
2019/12/12 Python
python爬虫实现POST request payload形式的请求
2020/04/30 Python
python3+openCV 获取图片中文本区域的最小外接矩形实例
2020/06/02 Python
用于ETL的Python数据转换工具详解
2020/07/21 Python
手摸手教你用canvas实现给图片添加平铺水印的实现
2019/08/20 HTML / CSS
Nike西班牙官方网站:Nike.com (ES)
2017/10/30 全球购物
世界上最受欢迎的钓鱼诱饵:Rapala
2019/05/02 全球购物
英国地毯卖家:The Rug Seller
2019/07/18 全球购物
奠基仪式主持词
2014/03/20 职场文书
付款委托书范本
2014/04/04 职场文书
2016年国培心得体会及反思
2016/01/13 职场文书
安全学习心得体会范文
2016/01/18 职场文书
2016年社会管理综治宣传月活动总结
2016/03/16 职场文书
2016年读书月活动总结范文
2016/04/06 职场文书
如何用PHP实现分布算法之一致性哈希算法
2021/05/26 PHP
Python尝试实现蒙特卡罗模拟期权定价
2022/04/21 Python