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


Posted in PHP onSeptember 13, 2016

先来说一下为什么我们要对图片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的全局函数库中了。以上就是这篇文章的全部内容了,希望对本文的内容对大家的学习或者工作能带来一定的帮助,谢谢大家对三水点靠木的支持。

PHP 相关文章推荐
教你如何把一篇文章按要求分段
Oct 09 PHP
PHP的分页功能
Mar 21 PHP
php 魔术方法使用说明
Oct 20 PHP
二招解决php乱码问题
Mar 25 PHP
解析php多线程下载远程多个文件
Jun 25 PHP
php不写闭合标签的好处
Mar 04 PHP
一个完整的php文件上传类实例讲解
Oct 27 PHP
PHP用户验证和标签推荐的简单使用
Oct 31 PHP
Django中的cookie与session操作实例代码
Aug 17 PHP
PHP基础之输出缓冲区基本概念、原理分析
Jun 19 PHP
PHP代码加密的方法总结
Mar 13 PHP
Thinkphp5框架中引入Markdown编辑器操作示例
Jun 03 PHP
PHP将URL转换成短网址的算法分享
Sep 13 #PHP
PHP使用FFmpeg获取视频播放总时长与码率等信息
Sep 13 #PHP
php微信公众平台开发之微信群发信息
Sep 13 #PHP
PHP入门教程之使用Mysqli操作数据库的方法(连接,查询,事务回滚等)
Sep 11 #PHP
PHP入门教程之面向对象的特性分析(继承,多态,接口,抽象类,抽象方法等)
Sep 11 #PHP
PHP入门教程之面向对象基本概念实例分析
Sep 11 #PHP
PHP入门教程之PHP操作MySQL的方法分析
Sep 11 #PHP
You might like
PHP Global变量定义当前页面的全局变量实现探讨
2013/06/05 PHP
使用Smarty 获取当前日期时间和格式化日期时间的方法详解
2013/06/18 PHP
PHP MVC框架中类的自动加载机制实例分析
2019/09/18 PHP
利用js跨页面保存变量做菜单的方法
2008/01/17 Javascript
Moment.js 不容错过的超棒Javascript日期处理类库
2012/04/15 Javascript
Javascript Throttle &amp; Debounce应用介绍
2013/03/19 Javascript
手机平板等移动端适配跳转URL的js代码
2014/01/25 Javascript
javascript 小数取整简单实现方式
2014/05/30 Javascript
Javascript遍历table中的元素示例代码
2014/07/08 Javascript
jquery如何获取元素的滚动条高度等实现代码
2015/10/19 Javascript
javaScript如何跳出多重循环break、continue
2016/09/01 Javascript
在JavaScript中调用Java类和接口的方法
2016/09/07 Javascript
javascript 动态样式添加的简单实现
2016/10/11 Javascript
js中获取 table节点各tr及td的内容简单实例
2016/10/14 Javascript
浅谈javascript中的三种弹窗
2016/10/21 Javascript
js+html制作简单验证码
2017/02/16 Javascript
JS获取浮动(float)元素的style.left值为空的快速解决办法
2017/02/19 Javascript
原生js实现简单的Ripple按钮实例代码
2017/03/24 Javascript
vue使用Axios做ajax请求详解
2017/06/07 Javascript
如何手写简易的 Vue Router
2020/10/10 Javascript
让python同时兼容python2和python3的8个技巧分享
2014/07/11 Python
Python中有趣在__call__函数
2015/06/21 Python
Python函数式编程指南(四):生成器详解
2015/06/24 Python
详解python爬虫系列之初识爬虫
2019/04/06 Python
Python2比较当前图片跟图库哪个图片相似的方法示例
2019/09/28 Python
布局和排版教程 纯css3实现图片三角形排列
2014/10/17 HTML / CSS
使用html5实现表格实现标题合并的实例代码
2019/05/13 HTML / CSS
德国家具在线:Fashion For Home
2017/03/11 全球购物
流行文化收藏品:Sideshow(DC漫画,星球大战,漫威)
2019/03/17 全球购物
《世界多美呀》教学反思
2014/03/02 职场文书
小学趣味运动会加油稿
2014/09/25 职场文书
个人整改方案范文
2014/10/25 职场文书
考研复习计划
2015/01/19 职场文书
《鸡兔同笼》教学反思
2016/02/19 职场文书
分析JVM源码之Thread.interrupt系统级别线程打断
2021/06/29 Java/Android
Android开发手册Chip监听及ChipGroup监听
2022/06/10 Java/Android