PHP将图片转换成base64编码,hash函数
PHP将图片转换成base64编码,hash函数
一、图片转换成base64编码
1、在线转换
2、PHP转换代码:
public function testAction(){
$fileInfo = $_FILES['address']; //input type='file' name='address'
/** $fileInfo的值 */
/* array (
'name' => '2.jpg',
'type' => 'image/jpeg',
'tmp_name' => 'D:\\xampp\\tmp\\php591E.tmp',
'error' => 0,
'size' => 115023,
) */
$image_path = $fileInfo['tmp_name'];
$base64_image = $this->getImageBase64($image_path);
@unlink($image_path); //删除服务器上临时文件,屏蔽警告
var_export($base64_image); 结果有点长截取部分: data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAY......uw8G3CC8kBH3aK4JRlcr2R//Z
die;
}
/**
* @todo 根据文件路径获取文件的base编码
* @param unknown $image_path 文件路径
* @return string 返回编码内容
*/
function getImageBase64($image_path){
$image_info = getimagesize($image_path);
/** $image_info的值 */
/* array (
0 => 1080,
1 => 720,
2 => 2,
3 => 'width="1080" height="720"',
'bits' => 8,
'channels' => 3,
'mime' => 'image/jpeg',
) */
/*
//list() 仅能用于数字索引的数组,并假定数字索引从 0 开始。
list($width,$height,$type,$width_height_str) = getimagesize($file_path); // √ 等价于 $image_info[0] $image_info[1] $image_info[2] $image_info[3]
list($width,$height,$type,$width_height_str,$b,$c,$m) = getimagesize($file_path); // × Notice: Undefined offset: 4 in ../Test.php on line 57
// × Notice: Undefined offset: 5 in ../Test.php on line 57
// × Notice: Undefined offset: 6 in ../Test.php on line 57
*/
$image_data = fread(fopen($image_path, 'r'), filesize($image_path));
$base64_image = 'data:' . $image_info['mime'] . ';base64,' . chunk_split(base64_encode($image_data));
return $base64_image;
}
3、getimagesize)()返回结果说明:
索引 0 给出的是图像宽度的像素值
索引 1 给出的是图像高度的像素值
索引 2 给出的是图像的类型,返回的是数字,其中1 = GIF,2 = JPG,3 = PNG,4 = SWF,5 = PSD,6 = BMP,7 = TIFF(intel byte order),8 = TIFF(motorola byte order),9 = JPC,10 = JP2,11 = JPX,12 = JB2,13 = SWC,14 = IFF,15 = WBMP,16 = XBM
索引 3 给出的是一个宽度和高度的字符串,可以直接用于 HTML 的 <image> 标签
索引 bits 给出的是图像的每种颜色的位数,二进制格式
索引 channels 给出的是图像的通道值,RGB 图像默认是 3
索引 mime 给出的是图像的 MIME 信息,此信息可以用来在 HTTP Content-type 头信息中发送正确的信息,如: header("Content-type: image/jpeg");
二、hash()函数
1、hash — 生成哈希值 (消息摘要)
语法:string hash ( string $algo , string $data [, bool $raw_output = FALSE ] )
参数说明:
参数 说明
algo 要使用的哈希算法,例如:"md5","sha256","haval160,4" 等。
函数 hash_algos(); //获取已注册的哈希算法列表[一维数组]
data 要进行哈希运算的消息。
raw_output 设置为 TRUE 输出原始二进制数据, 设置为 FALSE 输出小写 16 进制字符串。
使用案例:
//用哈希的 sha256算法
function testAction(){
$time = time();
$str = "appkey=14000****23&random=7226249334&time={$time}";
$sig = hash('sha256', $str);
var_export($sig); //6798d768489074d9b7d469942336fb11edbe5b3a31fa791d10e0bef50f45670f
die;
}
PHP将图片转换成base64编码,hash函数相关推荐
- base64转html文件,图片转换成Base64编码集成到html文件
首先为什么要这么做? 原因很简单这样可以减少与服务器的请求,当然对于一些浏览器并不支持,如IE8.通常用在手机版网站中,具体转化方法如下: 1.在线打开Base64的编码器将图片编码成Base64 ...
- base64 java php_利用PHP将图片转换成base64编码的实现方法
先来说一下为什么我们要对图片base64编码 base64是当前网络上最为常见的传输8Bit字节代码的编码方式其中之一.base64主要不是加密,它主要的用途是把某些二进制数转成普通字符用于网络传输. ...
- php将上传的图片转为base64,html5实现把上传的图片转成base64编码在显示(代码实例)...
本章给大家介绍html5实现把上传的图片转成base64编码在显示(代码实例).有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助. 首先我们来详细的看一看base64编码: 什么是bas ...
- JAVA解析html文档,替换img图片路径成base64编码,并将文章存入数据库
转载自 JAVA解析html文档,替换img图片路径成base64编码,并将文章存入数据库 开发环境:struts2+ spring + hibernate 数据库:oracle 需求:在HTML编 ...
- html5将图片转换成base64的实例代码
这篇文章给大家介绍了如何利用html5将图片转换成base64,文中通过示例代码介绍的很详细,有需要的朋友们可以参考借鉴. base64编码介绍 base64是一种网络上常用的8bit字节代码的编码方 ...
- python将图片转换成二进制文本_python将图片文件转换成base64编码的方法
本文实例讲述了python将图片文件转换成base64编码的方法.分享给大家供大家参考.具体实现方法如下: import base64f=open(r'c:\jb51.gif','rb') #二进制方 ...
- java图片转换成base64_Java将图片转换成Base64字符串
public classImageUtil {/*** 本地图片转换成base64字符串 *@paramimgFile * 图片本地路径 *@return */ public static Strin ...
- java将图片转成Base64编码,并压缩至40k
1.添加jar包 <!-- 压缩图片--> <dependency><groupId>net.coobird</groupId><artifact ...
- HTML怎么转换base64教程,html5将图片转换成base64代码
我们为什么要把图片转换成base64代码? base64是一种网络上常用的8bit字节代码的编码方式,base64可以用于http环境下传递较长的标识信息,同时可以放在url当中使用,因为base64 ...
- Flutter: 把本地相册图片转换成Base64的方法
前言 在Flutter开发中,关于图片上传和展示也是常用必用的操作,尤其是在设置APP用户的头像信息,以及上传背景图的操作.关于Flutter开发中图片的上传和展示也是比较常用的操作,也有对应的组件和 ...
最新文章
- IntelliJ IDEA下自动生成Hibernate映射文件以及实体类
- 两个向量组的秩相等说明什么_解析几何初步:向量与坐标(一)
- linux用户和群组的作用,linux中的用户、群组和权限
- python基本语法1.2--数的移位及与或抑或相关计算
- Hibernate or 的用法
- fn:substring()函数
- Hbase Region in transition (RIT) 异常解决
- [erlang] mnesia
- 听鲍宏图解读微软企业级市场战略
- Java中的自动拆箱装箱(AutoboxingUnboxing)
- pragma autonomous_transaction详解
- 内容管理系统CMS学习总结
- 基于单片机的指纹密码锁系统
- 如何将epub电子书格式转换成txt文本
- vue3如何去掉控制台的warn信息
- 解决ssh_exchange_identification:read connection reset by peer 原因
- PythonStudy——列表与字典推导式 List and dictionary derivation
- idea protoc did not exit cleanly. Review output for more information.
- 对专业学习的期望与目标
- JAVA_JSP网吧自动计费收费管理系统
热门文章
- 数论入门基础(同余定理/费马小定理/扩展欧几里德算法/中国剩余定理)
- python装b代码_教你装逼了:怎么样发布你的 Python 代码给别人 “pip install”
- linux是否32位系统文件夹,技术|如何判断Unix系统的一个库文件是32位还是64位的...
- 祝学校计算机系的新年贺词,[学校班级新年祝福语]班级新年贺词
- android的findviewbyid,Android开发中如何简化findViewById类型转换
- git flow命令
- jquery 多个class操作
- Java里String str = new String(“Hello“);会创建几个对象?
- Thrift RPC实战(七) 基于zookeeper和thrift的RPC服务发布订阅
- 售假获刑后他又被淘宝告上法庭,杭州互联网法院当庭宣判