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

yipeiwu_com6年前PHP代码库

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

语法:

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

Data URL的生成方法(php):

<?php  $img_file = file_get_contents("//www.jb51.net/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;
 }
}

相关文章

解析array splice的移除数组中指定键的值,返回一个新的数组

使用环境:人才网项目中有一个简历保密设置,其中有一个过滤关键词,只有某个企业的公司名中包含有其中的一个关键字,就不显示该份简历,当然,我还没有做到那里去,现在是要做关键词的增加删除。设想...

PHP访问数据库集群的方法小结

本文总结分析了PHP访问数据库集群的方法。分享给大家供大家参考,具体如下: 一般常见的有三种做法: 1、自动判断sql是否为读,来选择数据库的连接: 实例化php DB类的时候,需要一次...

php版微信小店调用api示例代码

本文实例讲述了php版微信小店调用api的方法。分享给大家供大家参考,具体如下: 刚开始调用微信小店api的时候,可能大家会遇到问题。系统总是提示system error,归根结底还是发...

php中随机函数mt_rand()与rand()性能对比分析

本文实例对比分析了php中随机函数mt_rand()与rand()性能问题。分享给大家供大家参考。具体分析如下: 在php中mt_rand()和rand()函数都是可以随机生成一个纯数字...

ADODB类使用

MySQL的例子PHP中最通用的数据库是MySQL,所以我想你会喜欢下面的程序代码,它连结到 localhost 的 MySQL 服务器,数据库名称是 mydab,并且执行一个 SQL...