利用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 相关文章推荐
phpmyadmin安装时提示:Warning: require_once(./libraries/common.inc.php)错误解决办法
Aug 18 PHP
服务器变量 $_SERVER 的深入解析
Jul 02 PHP
Yii Framework框架获取分类下面的所有子类方法
Jun 20 PHP
PHP判断表单复选框选中状态完整例子
Jun 24 PHP
Yii使用CLinkPager分页实例详解
Jul 23 PHP
浅谈PHP解析URL函数parse_url和parse_str
Nov 11 PHP
php使用正则表达式获取图片url的方法
Jan 16 PHP
PHP中字符安全过滤函数使用小结
Feb 25 PHP
PHP使用token防止表单重复提交的方法
Apr 07 PHP
php基于单例模式封装mysql类完整实例
Oct 18 PHP
CI框架常用函数封装实例
Nov 21 PHP
laravel中Redis队列监听中断的分析
Sep 14 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经典的给图片加水印程序
2006/12/06 PHP
php将数据库中的电话号码读取出来并生成图片
2008/08/31 PHP
php入门教程之Zend Studio设置与开发实例
2016/09/09 PHP
PHP使用redis位图bitMap 实现签到功能
2019/10/08 PHP
PHP扩展类型及安装方式解析
2020/04/27 PHP
javascript页面动态显示时间变化示例代码
2013/12/18 Javascript
使用Sticker.js实现贴纸效果
2015/01/28 Javascript
元素绑定click点击事件方法
2015/06/08 Javascript
基于replaceChild制作简单的吞噬特效
2015/09/21 Javascript
Js与Jq获取浏览器和对象值的方法
2016/03/18 Javascript
简单实现js倒计时功能
2017/02/13 Javascript
JS触摸事件、手势事件详解
2017/05/04 Javascript
jQuery实现html双向绑定功能示例
2017/10/09 jQuery
关于Vue项目跨平台运行问题的解决方法
2018/09/18 Javascript
详解在vue-cli项目下简单使用mockjs模拟数据
2018/10/19 Javascript
electron实现qq快捷登录的方法示例
2018/10/22 Javascript
详解Vue之父子组件传值
2019/04/01 Javascript
Vue.js项目实战之多语种网站的功能实现(租车)
2019/08/07 Javascript
[51:07]VGJ.S vs Pain 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
Python使用scrapy采集时伪装成HTTP/1.1的方法
2015/04/08 Python
Python 实现 贪吃蛇大作战 代码分享
2016/09/07 Python
Python 基础知识之字符串处理
2017/01/06 Python
python实现字典(dict)和字符串(string)的相互转换方法
2017/03/01 Python
Python中fnmatch模块的使用详情
2018/11/30 Python
Python 使用 docopt 解析json参数文件过程讲解
2019/08/13 Python
CSS3 Flex 弹性布局实例代码详解
2018/11/01 HTML / CSS
处理HTML5新标签的浏览器兼容版问题
2017/03/13 HTML / CSS
英国著名的小众美容品牌网站:Alyaka
2017/08/08 全球购物
STAY JAPAN台湾:预订日本民宿
2018/07/22 全球购物
创联软件面试题笔试题
2012/10/07 面试题
《听鱼说话》教学反思
2014/02/15 职场文书
电子工程专业毕业生求职信
2014/03/14 职场文书
民主生活会对照检查材料
2014/09/22 职场文书
2014年医院党建工作总结
2014/12/20 职场文书
Python 循环读取数据内存不足的解决方案
2021/05/25 Python
JS实现页面炫酷的时钟特效示例
2022/08/14 Javascript