利用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 相关文章推荐
sourcesafe管理phpproj文件的补充说明(downmoon)
Apr 11 PHP
php小经验:解析preg_match与preg_match_all 函数
Jun 29 PHP
PHP中执行MYSQL事务解决数据写入不完整等情况
Jan 07 PHP
thinkphp的c方法使用示例
Feb 24 PHP
ThinkPHP字符串函数及常用函数汇总
Jul 18 PHP
PHP中上传多个文件的表单设计例子
Nov 19 PHP
ecshop 2.72如何修改后台访问地址
Mar 03 PHP
在Mac OS上自行编译安装Apache服务器和PHP解释器
Dec 24 PHP
PHP实现查询两个数组中不同元素的方法
Feb 23 PHP
php格式文件打开的四种方法
Feb 24 PHP
PHP两个n位的二进制整数相加问题的解决
Aug 26 PHP
HTTP头隐藏PHP版本号实现过程解析
Dec 09 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读取目录下所有文件的代码
2008/01/07 PHP
PHP 变量类型的强制转换
2009/10/23 PHP
PHP Session_Regenerate_ID函数双释放内存破坏漏洞
2011/01/27 PHP
php获取表单中多个同名input元素的值
2014/03/20 PHP
PHP包含文件函数include、include_once、require、require_once区别总结
2014/04/05 PHP
PHP 加密 Password Hashing API基础知识点
2020/03/02 PHP
PHP程序员简单的开展服务治理架构操作详解(三)
2020/05/14 PHP
基于jQuery的计算文本框字数的代码
2012/06/06 Javascript
javascript学习笔记(五) Array 数组类型介绍
2012/06/19 Javascript
jQuery中对节点进行操作的相关介绍
2013/04/16 Javascript
在服务端(Page.Write)调用自定义的JS方法详解
2013/08/09 Javascript
JavaScript中“过于”犀利地for/in循环使用示例
2013/10/22 Javascript
Javascript 鼠标移动上去 滑块跟随效果代码分享
2013/11/23 Javascript
Google 地图控件集详解及实例代码
2016/08/06 Javascript
canvas绘制环形进度条
2017/02/23 Javascript
JS 组件系列之Bootstrap Table 冻结列功能IE浏览器兼容性问题解决方案
2017/06/30 Javascript
jQuery实现表单动态添加与删除数据操作示例
2018/07/03 jQuery
vue中,在本地缓存中读写数据的方法
2018/09/21 Javascript
Angular之jwt令牌身份验证的实现
2020/02/14 Javascript
vue中的双向数据绑定原理与常见操作技巧详解
2020/03/16 Javascript
实例讲解React 组件生命周期
2020/07/08 Javascript
Vue select 绑定动态变量的实例讲解
2020/10/22 Javascript
一行JavaScript代码如何实现瀑布流布局
2020/12/11 Javascript
python中lambda与def用法对比实例分析
2015/04/30 Python
分分钟入门python语言
2018/03/20 Python
使用pandas中的DataFrame数据绘制柱状图的方法
2018/04/10 Python
django用户登录和注销的实现方法
2018/07/16 Python
记录Python脚本的运行日志的方法
2019/06/05 Python
tensorflow入门:tfrecord 和tf.data.TFRecordDataset的使用
2020/01/20 Python
django admin 根据choice字段选择的不同来显示不同的页面方式
2020/05/13 Python
python 实现读取csv数据,分类求和 再写进 csv
2020/05/18 Python
使用darknet框架的imagenet数据分类预训练操作
2020/07/07 Python
opencv 阈值分割的具体使用
2020/07/08 Python
马来西亚在线时尚女装商店:KEI MAG
2017/09/28 全球购物
企业群众路线教育实践活动心得体会
2014/11/03 职场文书
班组长如何制订适合本班组的工作计划?
2019/07/10 职场文书