php将图片转为base64编码格式的方法:首先读取图片流;然后利用【base64_encode】函数进行编码格式转换即可。

PHP保存Base64图片base64_decode的问题

PHP对Base64的支持非常好,有内置的base64_encode与base64_decode负责图片的Base64编码与解码。

编码上,只要将图片流读取到,而后使用base64_encode进行进行编码即可得到。/**

* 获取图片的Base64编码(不支持url)

* @date 2017-02-20 19:41:22

*

* @param $img_file 传入本地图片地址

*

* @return string

*/

function imgToBase64($img_file) {

$img_base64 = '';

if (file_exists($img_file)) {

$app_img_file = $img_file; // 图片路径

$img_info = getimagesize($app_img_file); // 取得图片的大小,类型等

//echo '

' . print_r($img_info, true) . '

';

$fp = fopen($app_img_file, "r"); // 图片是否可读权限

if ($fp) {

$filesize = filesize($app_img_file);

$content = fread($fp, $filesize);

$file_content = chunk_split(base64_encode($content)); // base64编码

switch ($img_info[2]) { //判读图片类型

case 1: $img_type = "gif";

break;

case 2: $img_type = "jpg";

break;

case 3: $img_type = "png";

break;

}

$img_base64 = 'data:image/' . $img_type . ';base64,' . $file_content;//合成图片的base64编码

}

fclose($fp);

}

return $img_base64; //返回图片的base64

}

//调用使用的方法

$img_dir = dirname(__FILE__) . '/uploads/img/11213223.jpg';

$img_base64 = imgToBase64($img_dir);

echo ''; //图片形式展示

echo '


';

echo $img_base64; //输出Base64编码

而解码就略微麻烦一点,究其原因在于把图片编码成base64字符串后,编码内会加入这些字符 data:image/png;base64,本来是用于base64进行识别的。但是如果直接放到php里用base64_decode函数解码会导致最终保存的图片文件格式损坏,而解决方法就是先去掉这一串字符:$base64_string= explode(',', $base64_string); //截取data:image/png;base64, 这个逗号后的字符

$data= base64_decode($base64_string[1]);  //对截取后的字符使用base64_decode进行解码

file_put_contents($url, $data); //写入文件并保存

php 图片文件转base64编码格式,php如何将图片转为base64编码格式相关推荐

  1. ftp服务器上图片文件显示不出来,ftp服务器上图片文件显示

    ftp服务器上图片文件显示 内容精选 换一换 安装传输工具在本地主机和Windows云服务器上分别安装数据传输工具,将文件上传到云服务器.例如QQ.exe.在本地主机和Windows云服务器上分别安装 ...

  2. 【Android 内存优化】图片文件压缩 ( Android 原生 API 提供的图片压缩功能能 | 图片质量压缩 | 图片尺寸压缩 )

    文章目录 一. 图片压缩 二. 图片文件压缩类型 三. Android 原生 API 提供的质量压缩 四. Android 原生 API 提供的尺寸压缩 一. 图片压缩 图片压缩 : ① 文件压缩 : ...

  3. Android 图片文件操作、屏幕相关、.9图片的理解

     一:Android图片操作 1.存储bitmap到本地文件系统 public static void bitmapToFile(Bitmap bitmap, String uri) {if(!ext ...

  4. 自学Java语言网络编程局域网内与电脑无线传输视频,图片文件,调用系统媒体播放视频图片文件

    先看看电脑上的效果,可以查看磁盘下的文件,可以用鼠标双击MP4,MP3文件会调用系统播放器进行播放,电脑与手机同局域网内无线互传jpg图片与MP4视频文件,其他文件此代码不支持.下面有安卓上的逻辑代码 ...

  5. c 语言解析png图片文件信息,使用CImage加载PNG图片文件

    在MFC开发中,大家很容易用到PNG等流行媒体格式.但是MFC只提供了简单的BMP,ICON等文件的加载.此时,使用CImage将使得图片加载轻松自如. CImage加载导入图片 首先加载动态图片进入 ...

  6. SpringBoot将图片/文件传至前端

    SpringBoot将图片/文件传至前端 1. 返回OutputStream 2. 返回base64格式 1. 返回OutputStream @GetMapping("/download&q ...

  7. (五)图片压缩 —— 优化图片文件、内存

    版权声明:本文为博主原创文章,未经博主允许不得转载. 本文纯个人学习笔记,由于水平有限,难免有所出错,有发现的可以交流一下. 一.图片压缩 Android 中图片是以 Bitmap 形式存在的,而且 ...

  8. 使用GDI+缩放图片文件

    总结一下个人所知道的使用GDI+缩放图片的方法. 方法一:最简单的,使用GetThumbnailImage,这个方法的局限性对支持内嵌缩略图的图片文件无效. 因为MSDN中提到:如果图片文件有内嵌的缩 ...

  9. Android 图片文件读取

    Android中图片的读取,修改,显示和保存涉及到的类大致如图所示. 在读取图片文件时,先将图片文件转换为InputStream对象,然后通过BitmapFactory将其转换为Bitmap对象. 在 ...

  10. heic文件怎么转换成jpg?实用图片格式转换方法分享

    有使用苹果手机的小伙伴吗?heic就是苹果特有的图片格式.但是由于目前这种格式还不够普及,所以可能将这些图片上传到某平台的时候,或是想在电脑端打开时会出现格式不兼容上传失败.无法打开等现象,这时候最好 ...

最新文章

  1. HDUOJ----1166敌兵布阵(线段树单点更新)
  2. python实现http协议_python使用socket实现TCP支持HTTP协议的静态网页服务器
  3. android 横向stepview,Android 流程指示器 StepView
  4. php课程 10-35 php实现文件上传的注意事项是什么
  5. Linux内核相关常见面试题
  6. Qt翻译文件(.ts)的使用
  7. 软件工程和数据库中必考的ER图
  8. STC8H8K64U单片机学习-0-宏晶STC官网初探
  9. gfs mysql_美国gfs数据介绍和解析
  10. SAP cash discount 现金折扣
  11. Java基于JSP+Servlet的校友论坛管理系统
  12. STC单片机 闪烁灯,LED流水灯 程序讲解
  13. SaaS企业如何构建与自身增长目标相匹配的组织力?
  14. 论文笔记--GMAN: A Graph Multi-Attention Network for Traffic Prediction
  15. 2-12 输出华氏-摄氏温度转换表 (15 分)
  16. facebook 使用的软件
  17. java 日历签到功能_Android 在日历的基础上实现签到功能
  18. 二段式FPGA的状态机
  19. 超市收银系统c语言,C语言超市收银系统.docx
  20. MATLAB中 Command Window 常用的命令及功能

热门文章

  1. Linux开机启动过程(15):start_kernel()->rcu_init()初始化
  2. Linux进程管理:进程调度之完全公平调度算法
  3. ARMv8 MMU及Linux页表映射:TLB
  4. Libco是一个C/C++协程库,在微信服务中广泛使用
  5. GnuTLS传输层安全性库
  6. 【转】Linux 命令行下的好东西:一些常用指令
  7. srsLTE源码学习:逻辑信道多路复用与MAC CE分解pdu_queue.h,pdu_queue.cc
  8. 【BP神经网络】使用反向传播训练多层神经网络的原则+“常见问题”
  9. html遮罩提示框代码,基于jQuery实现弹出可关闭遮罩提示框实例代码
  10. lombok的相关注解使用