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