1、图片的base64编码

 /*首先要确定图片的类型,需要安装一个php拓展php_fileinfo
如已安装可以在extension_dir目录下找到php_fileinfo.dll(windows),fileinfo.so(linux)
打开php.ini,把extension=php_fileinfo.dll前的";"去掉,然后重启apache。
*/
$file = 'tupian.png';
$fi = new finfo(FILEINFO_MIME_TYPE);
$mime_type = $fi->file($file); //image/jpeg
//然后读取内容进行编码,拼接(建议用file_get_contents,因为是二进制,如果用fopen、fread就得模式要加b)
$base = 'data:'.$mime_type.';base64,'.base64_encode(bafile_get_contents($file)); //获得编码结果

2、base64图片解码

     $base = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFEAAABRCAYAAACqj0o2AAAEdUlEQVR4Xu2cgbEMQRCG+0WACBABIkAEiAARIAJEgAgQASJABIgAESAC6qvaqTrr1k7P9j8zdzdTdeU9b7d35tvunp6enjuz0TYTONssYQiwATFACQbEATGAQICInjTxvJndMrOr04fh8TPt886//PzOzH4GjD9ERA8Q75rZPTO74RwRMF+Z2evWQFtCBN4TM7vkhDe//NskB5hNWguIQHuzY6pRA0cz7++YfpTcVTm1IWKyAMT/KRp+EpBvFcKXZNaEiN97WWlwgMRfVmm1IN6eNLDKoKaHVANZAyJhynuhCS+9GEz7Zg0fqYaI7/sUMAOXajAgL6tDIDVEQpjHpQSC7ns6hUBB4v4Vo4SIFn5tYMb7YKGNxJOSpoT43MweSHrtF0ogTnQgaUqIPzrRQsDhGy9ICJrJ8onMyEwoPbU7qiBcpYk9mXJ6kTKTVkH8YGbXe1LDaWJhgglvKog9+cNdaJLxSoSa2e/w1x0jUDJehVBSXcSHPTaWgbia0DYgBuBUQKRbw5wDXs6AGACxxxDnuyqbpDJnsspsRPXUDi7YbpHJXnthsky3ShPTov/c2sgq/p0EhGTDXwmxJ5OmYgLrkDQlxJ6C7oNNyvLWe9gekE0oSa2Vmsgz2CIgLd/KN/6aKi1kWwMMUg2RZ1D1wJZpiyZLxO4OpgZEnlez+iGN75GZkRyWt1oQGUjNbLfcD7bQxPTMGhopC6qXVLqmJqY+sInF2jp6smESIRYMzxeu+YMWENOs/dDM+GyFCTxcBR/JiqRXiKlfhECAxMwvrnV29neyMmgdsag0hFnrVytN3NcvzBxzJCQC7pXZRV8mTUu12qkYfm2M8r+3gsh2KqDS6YCIgaKNfD5GCPPIqAWRdTT5RbTMe0rAM550LVqKqRPqyDVWDRFw+LxIjfNCRTuZdGRHNVQQ8W3PVOl4L8XpemZuJqEXhfcv3hYNEbOluL2GyZayCD+qEQkR7QOg6nhFKbSl+3AzIVoZBbHGci4aIvLIvrNM3NQiIKJ9sirUTaPLu3kzyK0QD1UD53g3gdwCscdt0Tzd239V8SmDUojMwpQTH8okkgu3qGqsFCLp/p7DmFxo8+sIzK95s0ElEI/FDy6Bdpt1CUQKOLce9C7VlBr3uY+yeSEeuxaml+TSRi9EJpOWyYQamsgzXIeHPBB7POCjhJq9Z+2B2ENJiBLaXHb2tqsH4qmYcoJJuJN1eMgDsdc6bKV2EjOuZsZzIbasp1FCWpOdtYLJhXhs6+Q1eK5QJxfiqU0qA2KummVclxV0D038P8kBMUPT1i4JhcimDlugp9ZCIZ7aki8pS9bSL9cnIrTH83pKy6CmJyvx7IHIVgAg59VayoG0kk0FGgCz6h09EBkQIIkZe/nSoGjIFIyy88cYswDSAS/E1GlgkqBlJdPbt454wQIOC+OLK/lkw0sPKoU47ygTD2CTD2H7YGkLgf/3VsV6wFBBu1Q5m2oYk4/f/d3zjL+ujYJY3IFjuHFADHiLA+KAGEAgQMTQxACIfwBygLFS1arSnwAAAABJRU5ErkJggg==';
$arr = preg_split("/(,|;)/",$base);//分隔三部分,data:image/png base64 后面一堆
$base64Data = $arr[2];
$arr2 = explode('/',$arr[0]); //分割出图片格式
$type = $arr2[1];
$fileName = 'tupian.'.$type; //拼接图片名称
file_get_contents($fileName,base64_decode($base64Data));

php实现图片base64编码解码的更多相关文章

  1. 图片base64编码解码

    1.图片base64编码 https://c.runoob.com/front-end/59 2.图片base64解码 https://www.it399.com/image/base64 https ...

  2. OpenSSL 使用 base64 编码/解码

    简述 关于 OpenSSL 的介绍及安装请参见:Windows下编译OpenSSL 下面主要介绍有关 OpenSSL 使用 base64 编码/解码. 简述 编码解码 更多参考 编码/解码 #incl ...

  3. 利用openssl进行BASE64编码解码、md5/sha1摘要、AES/DES3加密解密

    国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私 ...

  4. [转]玩转图片Base64编码

    转自:[前端攻略]:玩转图片Base64编码 图片处理在前端工作中可谓占据了很重要的一壁江山.而图片的 base64 编码可能相对一些人而言比较陌生,本文不是从纯技术的角度去讨论图片的 base64 ...

  5. 对JSON传递图片Base64编码的一点总结

    项目中跟Java对接的时候需要传输图片,经过Base64编码后传输的. 但是实际调试的时候发现Java那边始终无法正常解析出图片. 冷静想想之后,发现问题在于使用OpenCV读取图片,编码的是Mat: ...

  6. Javascript中Base64编码解码的使用实例

    Javascript为我们提供了一个简单的方法来实现字符串的Base64编码和解码,分别是window.btoa()函数和window.atob()函数. 1 var encodedStr = win ...

  7. Atitit. 二进制数据ascii表示法,与base64编码解码api 设计标准化总结java php c#.net

    Atitit. 二进制数据ascii表示法,与base64编码解码api 设计标准化总结java php c#.net 1. Base64编码, 1 1.1. 子模式 urlsafe Or  url  ...

  8. Atitit. 二进制数据ascii表示法,与base64编码解码api 设计标准化总结java php c#.net

    Atitit. 二进制数据ascii表示法,与base64编码解码api 设计标准化总结java php c#.net 1. Base64编码,1 1.1. 子模式 urlsafe Or  url u ...

  9. delphi Base64编码/解码及数据压缩/解压知识

    一.Base64编码/解码 一般用到的是Delphi自带的单元EncdDecd,当然还有第三方提供的单元或控件,其中我所接触到的认为比较好的有Indy的TIdMimeEncode / TIdMimeD ...

随机推荐

  1. ios 解决Wkwebview闪烁问题

    // 网页闪烁问题    if ([self.webView.realWebView isKindOfClass:[WKWebView class]]) {         ((WKWebView * ...

  2. 集群监控之 —— ipmi操作指南

    http://blog.csdn.net/yunsongice/article/details/5408802 智能平台管理界面(IPMI,Intelligent Platform Managemen ...

  3. RNA-Seq differential expression analysis: An extended review and a software tool RNA-Seq差异表达分析: 扩展评论和软件工具

    RNA-Seq differential expression analysis: An extended review and a software tool   RNA-Seq差异表达分析: 扩展 ...

  4. sqlserver怎么将excel表的数据导入到数据库中

    在数据库初始阶段,我们有些数据在EXCEL中做好之后,需要将EXCEL对应列名(导入后对应数据库表的字段名),对应sheet(改名为导入数据库之后的表名)导入指定数据库, 相当于导入一张表的整个数据. ...

  5. kinect相机做扫描仪扫描人体模型

  6. freemarker的include标签

    和jsp的include标签的作用类似,里面也是分相对路径和绝对路径. freemarker的根路径比较奇特的,结构图如下: ----webroot-------page------------ftl ...

  7. 【转载】45个设计师们不常见的html5和css3漂亮模板

    对于Web开发人员来说,当他们需要创建一个非常时尚和新潮的CSS3和HTML5网站时需要非常专业的水准.html5和css3的结合能够做出非同寻常的网站效果..所以,今天,我推荐给大家45个免费的时尚 ...

  8. Zero Clipboard js+swf实现的复制功能使用方法

    开发中经常会用到复制的功能,在 IE 下实现比较简单.但要想做到跨浏览器比较困难了.本文将介绍一个跨浏览器的库类 Zero Clipboard .它利用 Flash 进行复制,所以只要浏览器装有 Fl ...

  9. solr特点四: SpellCheck(拼写检查)

    接下来,我将介绍如何向应用程序添加 “您是不是要找……”(拼写检查). 提供拼写建议 Lucene 和 Solr 很久以前就开始提供拼写检查功能了,但直到添加了 SearchComponent架构之后 ...

  10. C#实现像微信PC版一样的扫码登录功能

    现在好些网站都支持扫码登录,感觉上安全了很多,但是本地程序扫码登录的不多,就用C#实现了一下,需要作如下准备 在官网上申请一个企业微信,有条件的话做个企业认证吧,我们的是认证过的,所以账号和本地其他系 ...