base64是当前网络上最为常见的传输8Bit字节代码的编码方式其中之一。base64主要不是加密,它主要的用途是把某些二进制数转成普通字符用于网络传输。由于这些二进制字符在传输协议中属于控制字符,不能直接传送,所以需要转换一下。虽然图片可能直接传输,但是我们也可以将它变成字符串直接放在源码里,而不需要浏览器在读取到源码后再从服务器上下载。
如何使用PHP对图片进行base64解码输出
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <?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的全局函数库中了。以上就是这篇文章的全部内容了,希望对本文的内容对大家的学习或者工作能带来一定的帮助,谢谢大家对脚本之家的支持。
PS:关于加密技术,本站还提供了如下加密工具供大家参考使用:
图片转换为Base64编码在线工具:http://tools.jb51.net/transcoding/img2base64
MD5在线加密工具:http://tools.jb51.net/password/CreateMD5Password
Escape加密/解密工具:http://tools.jb51.net/password/escapepwd
在线SHA1加密工具:http://tools.jb51.net/password/sha1encode
短链(短网址)在线生成工具:http://tools.jb51.net/password/dwzcreate
短链(短网址)在线还原工具:http://tools.jb51.net/password/unshorturl
高强度密码生成器:http://tools.jb51.net/password/CreateStrongPassword
如对本文有疑问,请提交到交流社区,广大热心网友会为你解答!! 点击进入社区
- <!--
- content:根据图片的类型将其自动编码成base64
- author:zhailulu
- Date:2010.12.14
- -->
- <html>
- <head>
- <?php
- $file="images/2.gif";
- $type=getimagesize($file);
- $fp=fopen($file,"r")or die("Can't open file");
- $file_content=chunk_split(base64_encode(fread($fp,filesize($file))));
- switch($type[2]){
- case 1:$img_type="gif";break;
- case 2:$img_type="jpg";break;
- case 3:$img_type="png";break;
- }
- $img='data:image/'.$img_type.';base64,'.$file_content;
- fclose($fp);
- ?>
- </head>
- <body>
- <img id="img1" src="<?php echo $img;?>"/>
- </body>
- </html>
原文地址:http://blog.csdn.net/zhailulu/article/details/6175349