利用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 相关文章推荐
15种PHP Encoder的比较
Apr 17 PHP
php实现从ftp服务器上下载文件树到本地电脑的程序
Feb 10 PHP
鸡肋的PHP单例模式应用详解
Jun 03 PHP
微信扫描二维码登录网站代码示例
Dec 30 PHP
php生成静态页面的简单示例
Apr 17 PHP
9段PHP实用功能的代码推荐
Oct 14 PHP
php中有关合并某一字段键值相同的数组合并的改进
Mar 10 PHP
PHP输出日历表代码实例
Mar 27 PHP
php使用gd2绘制基本图形示例(直线、圆、正方形)
Feb 15 PHP
PHP对象的浅复制与深复制的实例详解
Oct 26 PHP
PHP实现读取文件夹及批量重命名文件操作示例
Apr 15 PHP
如何解决php-fpm启动不了问题
Nov 17 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做下载文件的实现代码及文件名中乱码解决方法
2011/02/03 PHP
使用php测试硬盘写入速度示例
2014/01/27 PHP
PHP使用递归生成文章树
2015/04/21 PHP
微信公众平台开发教程③ PHP实现微信公众号支付功能图文详解
2019/04/10 PHP
php swoft框架实例用法
2020/12/22 PHP
一些有用的JavaScript和jQuery的片段分享
2011/08/23 Javascript
推荐17个优美新鲜的jQuery的工具提示插件
2012/09/14 Javascript
jQuery实现等比例缩放大图片让大图片自适应页面布局
2013/10/16 Javascript
js动态添加事件并可传参数示例代码
2013/10/21 Javascript
js截取字符串的两种方法及区别详解
2013/11/05 Javascript
js判读浏览器是否支持html5的canvas的代码
2013/11/18 Javascript
javascript入门教程基础篇
2015/11/16 Javascript
详解vue-cli快速构建项目以及引入bootstrap、jq
2017/05/26 Javascript
使用js实现将后台传入的json数据放在前台显示
2018/08/06 Javascript
js实现磁性吸附的示例
2020/10/26 Javascript
VueCli生产环境打包部署跨域失败的解决
2020/11/13 Javascript
详解Vue的mixin策略
2020/11/19 Vue.js
[00:35]2016完美“圣”典风云人物:冷冷宣传片
2016/12/08 DOTA
[03:12]TI9战队档案 - Virtus Pro
2019/08/20 DOTA
python的numpy模块安装不成功简单解决方法总结
2017/12/23 Python
Python爬虫获取整个站点中的所有外部链接代码示例
2017/12/26 Python
Python魔法方法详解
2019/02/13 Python
Flask框架学习笔记之表单基础介绍与表单提交方式
2019/08/12 Python
解析python实现Lasso回归
2019/09/11 Python
Python While循环语句实例演示及原理解析
2020/01/03 Python
python实现梯度下降算法的实例详解
2020/08/17 Python
Python+pyftpdlib实现局域网文件互传
2020/08/24 Python
心理健康教育心得体会
2013/12/29 职场文书
音乐专业自荐信
2014/02/07 职场文书
模范家庭事迹材料
2014/02/10 职场文书
2015年消防工作总结
2015/04/24 职场文书
食堂卫生管理制度
2015/08/04 职场文书
2019个人工作总结
2019/06/21 职场文书
Idea连接MySQL数据库出现中文乱码的问题
2021/04/14 MySQL
Python+Appium新手教程
2021/04/17 Python
vue3使用vue-router的完整步骤记录
2021/06/20 Vue.js