Data URL是在本地直接绘制图片,不是从服务器加载,所以节省了HTTP连接,起到加速网页的作用。
语法:
data:image/jpg; 声明数据协议及类型名称 base64,编码形式为base64 /9j/4AAQSkZ…… base64编码结果
PHP $img_file = file_get_contents("//www.jb51.cc/img/logo_s2.png"); echo base64_encode($img_file);
注意:本方法适合于小图片,大图片就不要考虑了,另外IE8以下浏览器不支持这种方法。用这种方法会加重客户端的cpu和内存负担,总之有利有弊。
那么我们如何把网站上的Data URL格式的图片转存成实际图片呢?
其实很简单,我们把图片内容就是src部分传到后台,保存即可。
rush:PHP;">
$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;
}
}
原文地址:https://www.jb51.cc/php/18349.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。