为什么要对图片base64编码
base64是网络上最常见的传输8Bit字节代码的编码方式之一。base64主要不是加密,它主要的用途是把一些二进制数转成普通字符用于网络传输。由于一些二进制字符在传输协议中属于控制字符,不能直接传送,所以需要转换一下。虽然图片可能直接传输,但是我们也可以将它变成字符串直接放在源码里,而不需要浏览器在读取到源码后再从服务器上下载。
如何使用PHP对图片进行base64编码
<?php // 说明:浏览该文件将看到N多行字符串 $file= 'upall.gif'; $fp = fopen($file, 'rb', 0); echo chunk_split(base64_encode(fread($fp,filesize($file)))); fclose($fp); ?>
如何使用PHP对图片进行base64解码输出
<?php // 说明:浏览该PHP文件将直接看到图片 $image = <<< EOFILE R0lGODl(upall注:这里省略部分BASE64字符串)CAgAOw== EOFILE; header("Content-type: image/gif"); exit(base64_decode($image)); ?>
网页中如何使用
HTML中的用法:
<img src="data:image/gif;base64,R0lGODl(这里省略部分BASE64字符串)CAgAOw=="/>
CSS中这样写:
background:url("data:image/gif;base64,R0lGODl(再省略部分字符)CAgAOw==");
提示:IE6、7不支持以上两种用法,你可以使用PHP文件解码输出为图片。
JS的base64编码和解码
导入JS文件:webtoolkit.base64.js,本地下载(JS和示例)。
用法:
var str0 = '/'; var str1 = Base64.encode(str0); var str2 = Base64.decode(str1);
<完。upall注:声音、视频也可以使用这种方法进行base64编码。>