今天要给各位PHP爱好者带来的是PHP如何将图片转换成base64编码的实现代码,相信各位朋友都知道Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一了,假如对此不清楚的朋友可查看RFC2045~RFC2049,上面有MIME的详细规范。本文主要给大家介绍下PHP将图片转换为base64编码格式的实现方法,有兴趣的朋友来详细了解下吧。
为何要对图片base64编码:
base64是当前网络上最为常见的传输8Bit字节代码的编码方式之一。base64主要不是加密,它主要的作用是将某些二进制数转成普通字符用于网络传输。因为这些二进制字符在传输协议中属于控制字符,无法直接传送,因此需要转换一下。尽管图片可以直接传输,不过我们也能够把它变成字符串直接放在源码里,而不需要浏览器在读取到源码以后再从服务器上下载。
怎么使用PHP对图片进行base64解码输出:
<?php
$img = 'test.jpg';
$base64_img = base64EncodeImage($img);
echo '<img src="' . $base64_img . '" />';
function base64EncodeImage ($image_file) {
$base64_image = '';
$image_info = getimagesize($image_file);
$image_data = fread(fopen($image_file, 'r'), filesize($image_file));
$base64_image = 'data:' . $image_info['mime'] . ';base64,' . chunk_split(base64_encode($image_data));
return $base64_image;
}
?>
总结
通过上述方法转换之后得到的base64编码字符串,可存放到数据库中,需要的时候可直接从数据库中读取,减少访问图片时的请求数量。该方法已包含进MiniFramework的全局函数库中了。