利用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 相关文章推荐
一键删除顽固的空文件夹 软件下载
Jan 26 PHP
php 将bmp图片转为jpg等其他任意格式的图片
Jun 29 PHP
程序员编程十条戒律
Jul 09 PHP
PHP实现读取一个1G的文件大小
Aug 24 PHP
xss防御之php利用httponly防xss攻击
Mar 21 PHP
getJSON跨域SyntaxError问题分析
Aug 07 PHP
PHP之sprintf函数用法详解
Nov 12 PHP
你应该知道PHP浮点数知识
May 13 PHP
PHP 实现人民币小写转换成大写的方法及大小写转换函数
Nov 17 PHP
ThinkPHP3.2框架自定义配置和加载用法示例
Jun 14 PHP
php统计数组不同元素的个数的实例方法
Sep 26 PHP
Laravel登录失败次数限制的实现方法
Aug 26 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/10/09 PHP
YII实现分页的方法
2014/07/09 PHP
微信公众平台网页授权获取用户基本信息中授权回调域名设置的变动
2014/10/21 PHP
php编程每天必学之表单验证
2016/03/01 PHP
PHP7实现和CryptoJS的AES加密方式互通示例【AES-128-ECB加密】
2019/06/08 PHP
PHP 7.4中使用预加载的方法详解
2019/07/08 PHP
仿迅雷焦点广告效果(JQuery版)
2008/11/19 Javascript
jqPlot Option配置对象详解
2009/07/25 Javascript
javascript 正则表达式相关应介绍
2012/11/27 Javascript
纯JS实现五子棋游戏兼容各浏览器(附源码)
2013/04/24 Javascript
js charAt的使用示例
2014/02/18 Javascript
Egret引擎开发指南之创建项目
2014/09/03 Javascript
基于jQuery插件实现点击小图显示大图效果
2016/05/11 Javascript
AngularGauge 属性解析详解
2016/09/06 Javascript
AngularJS实现的输入框字数限制提醒功能示例
2017/10/26 Javascript
详解jQuery中的isPlainObject()使用方法
2018/02/27 jQuery
详解如何从零开始搭建Express+Vue开发环境
2018/07/17 Javascript
详解Node.js异步处理的各种写法
2019/06/09 Javascript
javascript实现贪吃蛇小游戏
2020/07/28 Javascript
python共享引用(多个变量引用)示例代码
2013/12/04 Python
Python正则简单实例分析
2017/03/21 Python
Python 操作文件的基本方法总结
2017/08/10 Python
PyQt5实现拖放功能
2018/04/25 Python
python使用adbapi实现MySQL数据库的异步存储
2019/03/19 Python
Python爬虫学习之获取指定网页源码
2019/07/30 Python
如何在python中写hive脚本
2019/11/08 Python
Python利用matplotlib绘制散点图的新手教程
2020/11/05 Python
OpenCV实现机器人对物体进行移动跟随的方法实例
2020/11/09 Python
CSS3中HSL和HSLA的简单使用示例
2015/07/14 HTML / CSS
后勤副校长自我鉴定
2013/10/13 职场文书
课程设计心得体会
2013/12/28 职场文书
生产车间班组长岗位职责
2014/01/06 职场文书
2014法院干警廉洁警示教育思想汇报
2014/09/13 职场文书
2014年政教处工作总结
2014/12/20 职场文书
Python语言内置数据类型
2022/02/24 Python
一次SQL如何查重及去重的实战记录
2022/03/13 MySQL