利用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 相关文章推荐
模拟OICQ的实现思路和核心程序(一)
Oct 09 PHP
模拟OICQ的实现思路和核心程序(三)
Oct 09 PHP
PHP中冒号、endif、endwhile、endfor使用介绍
Apr 28 PHP
JpGraph php柱状图使用介绍
Aug 23 PHP
PHP中的正则表达式函数介绍
Feb 27 PHP
Function eregi is deprecated (解决方法)
Jun 21 PHP
PHP实现图片压缩的两则实例
Jul 19 PHP
php获取四位字母和数字的随机数的实现方法
Jan 09 PHP
PHP对文件进行加锁、解锁实例
Jan 23 PHP
php绘制一条直线的方法
Jan 24 PHP
Docker搭建自己的PHP开发环境
Feb 24 PHP
[原创]PHP global全局变量经典应用与注意事项分析【附$GLOBALS用法对比】
Jul 12 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
PHP4实际应用经验篇(8)
2006/10/09 PHP
加强版phplib的DB类
2008/03/31 PHP
php is_file 判断给定文件名是否为一个正常的文件
2010/05/10 PHP
php多个文件及图片上传实例详解
2014/11/10 PHP
typecho插件编写教程(四):插件挂载
2015/05/28 PHP
Smarty模板变量调节器用法分析
2016/05/23 PHP
PHP配合fiddler抓包抓取微信指数小程序数据的实现方法分析
2020/01/02 PHP
Javascript实现重力弹跳拖拽运动效果示例
2013/06/28 Javascript
javascript读写XML实现广告轮换(兼容IE、FF)
2013/08/09 Javascript
jquery插件corner实现圆角边框的方法
2015/03/09 Javascript
详解JavaScript中shift()方法的使用
2015/06/09 Javascript
js识别uc浏览器的代码
2015/11/06 Javascript
JS获取浮动(float)元素的style.left值为空的快速解决办法
2017/02/19 Javascript
JavaScript之事件委托实例(附原生js和jQuery代码)
2017/07/22 jQuery
angular动态表单制作
2018/02/23 Javascript
对Vue table 动态表格td可编辑的方法详解
2018/08/28 Javascript
Angular7创建项目、组件、服务以及服务的使用
2019/02/19 Javascript
vue3.0中使用postcss-pxtorem的具体方法
2019/11/20 Javascript
如何通过Proxy实现JSBridge模块化封装
2020/10/22 Javascript
JavaScript ES 模块的使用
2020/11/12 Javascript
如何在vue-cli中使用css-loader实现css module
2021/01/07 Vue.js
用实例解释Python中的继承和多态的概念
2015/04/27 Python
python验证码识别教程之灰度处理、二值化、降噪与tesserocr识别
2018/06/04 Python
python复制列表时[:]和[::]之间有什么区别
2018/10/16 Python
Django使用paginator插件实现翻页功能的实例
2018/10/24 Python
python基于property()函数定义属性
2020/01/22 Python
最新Python idle下载、安装与使用教程图文详解
2020/11/28 Python
详解移动端html5页面长按实现高亮全选文本内容的兼容解决方案
2016/12/03 HTML / CSS
Ajax请求总共有多少种Callback
2016/07/17 面试题
建筑设计所实习生自我鉴定
2013/09/25 职场文书
解除劳动合同协议书
2014/04/14 职场文书
生产实习心得体会范文
2016/01/22 职场文书
python 如何获取页面所有a标签下href的值
2021/05/06 Python
python 制作一个gui界面的翻译工具
2021/05/14 Python
健身房被搭讪?用python写了个小米计时器助人为乐
2021/06/08 Python
浅谈redis整数集为什么不能降级
2021/07/25 Redis