使用PHP对图片进行base64编码和解码

原文链接: http://blog.upall.cn/350.html

为什么要对图片base64编码

base64是网络上最常见的传输8Bit字节代码的编码方式之一。base64主要不是加密,它主要的用途是把一些二进制数转成普通字符用于网络传输。由于一些二进制字符在传输协议中属于控制字符,不能直接传送,所以需要转换一下。虽然图片可能直接传输,但是我们也可以将它变成字符串直接放在源码里,而不需要浏览器在读取到源码后再从服务器上下载。

如何使用PHP对图片进行base64编码

1
2
3
4
5
6
7
"background-color:#ffff00;" >php
// 说明:浏览该文件将看到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
"background-color:#ffff00;" >php
// 说明:浏览该PHP文件将直接看到图片
$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 str0 = 'http://blog.upall.cn/' ;
var str1 = Base64.encode(str0);
var str2 = Base64.decode(str1);

你可能感兴趣的:(使用PHP对图片进行base64编码和解码)