首页 » 后端 » PHP » 正文

使用PHP对图片进行base64编码和解码(png、jpg,声音、视频)

发布者:站点默认
2011/01/23 浏览数(10,676) 分类:PHP 使用PHP对图片进行base64编码和解码(png、jpg,声音、视频)已关闭评论

为什么要对图片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编码。>

点击返回顶部
  1. 留言
  2. 联系方式