欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

利用PHP将图片转换成base64编码的实现方法


相信大家都知道Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一,如果对此不清楚的可以查看RFC2045~RFC2049,上面有MIME的详细规范。这篇文章我们分享一个PHP将图片转换为base64编码格式的方法,有需要的朋友们可以参考借鉴。

先来说一下为什么我们要对图片base64编码

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

如对本文有疑问,请提交到交流社区,广大热心网友会为你解答!! 点击进入社区


来自 http://www.jb51.net/article/92543.htm


PHP 将图片转换成BASE64

标签: 图片base64
 6718人阅读 评论(0) 收藏 举报
 分类:
  1. <!--  
  2. content:根据图片的类型将其自动编码成base64  
  3. author:zhailulu  
  4. Date:2010.12.14  
  5. -->  
  6. <html>  
  7. <head>  
  8. <?php  
  9. $file="images/2.gif";  
  10. $type=getimagesize($file);//取得图片的大小,类型等  
  11. $fp=fopen($file,"r")or die("Can't open file");  
  12. $file_content=chunk_split(base64_encode(fread($fp,filesize($file))));//base64编码  
  13. switch($type[2]){//判读图片类型  
  14. case 1:$img_type="gif";break;  
  15. case 2:$img_type="jpg";break;  
  16. case 3:$img_type="png";break;  
  17. }  
  18. $img='data:image/'.$img_type.';base64,'.$file_content;//合成图片的base64编码  
  19. fclose($fp);  
  20. ?>  
  21. </head>  
  22. <body>  
  23. <img id="img1" src="<?php echo $img;?>"/>  
  24. </body>  
  25. </html>  

 

 

原文地址:http://blog.csdn.net/zhailulu/article/details/6175349

来自  http://blog.csdn.net/macwhirr123/article/details/44199399
普通分类: