PHP获取文件的MD5值并判断是否被修改的例子


Posted in PHP onJune 19, 2014

由于需要判断上传的文件是否被修改过,需要记录上传文件的md5值,这里记录一下获取文件md5值的方法。

if(isset($_FILES['multimedia']) && $_FILES['multimedia']['error']==0)

{

 $file_name = $_FILES['multimedia']['name'];

 $size = getimagesize($_FILES['multimedia']['tmp_name']);

    $type = $_FILES['multimedia']['type'];

 $original = $_FILES['multimedia']['tmp_name'];

 $md5 = md5_file($original);

 echo $md5;

}

md5_file()

md5_file() 函数计算文件的 MD5 散列。md5() 函数使用 RSA 数据安全,包括 MD5 报文摘译算法。如果成功,则返回所计算的 MD5 散列,如果失败,则返回 false。

语法:md5(string,raw)

参数string,必需。规定要计算的文件。

参数charlist,可选。规定十六进制或二进制输出格式:TRUE - 原始 16 字符二进制格式;FALSE - 默认。32 字符十六进制数。

<?php

$filename = "test.txt";

$md5file = md5_file($filename);

echo $md5file;

?>

存储 "test.txt" 文件的 MD5 散列:

<?php

$md5file = md5_file("test.txt");

file_put_contents("md5file.txt",$md5file);

?>

在本例中,我们将检测 "test.txt" 是否已被更改(即是否 MD5 散列已被更改):

<?php

$md5file = file_get_contents("md5file.txt");

if (md5_file("test.txt") == $md5file)

{

 echo "The file is ok.";

}

else

{

 echo "The file has been changed.";

}

?>

输出:

The file is ok.

PS:这里再为大家提供2款MD5加密工具,感兴趣的朋友可以参考一下:

MD5在线加密工具:

在线MD5/hash/SHA-1/SHA-2/SHA-256/SHA-512/SHA-3/RIPEMD-160加密工具:

PHP 相关文章推荐
PHP 引用是个坏习惯
Mar 12 PHP
PHP验证码类代码( 最新修改,完全定制化! )
Dec 02 PHP
PHP mcrypt可逆加密算法分析
Jul 19 PHP
基于php设计模式中工厂模式详细介绍
May 15 PHP
php图片缩放实现方法
Feb 20 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(三)
Jun 23 PHP
destoon实现调用当前栏目分类及子分类和三级分类的方法
Aug 21 PHP
PHP使用curl模拟post上传及接收文件的方法
Mar 04 PHP
利用php + Laravel如何实现部署自动化详解
Oct 11 PHP
PHP实现非阻塞模式的方法分析
Jul 26 PHP
PHP设计模式之单例模式定义与用法分析
Mar 26 PHP
PHP实现的62进制转10进制,10进制转62进制函数示例
Jun 06 PHP
PHP中strlen()和mb_strlen()的区别浅析
Jun 19 #PHP
php对包含html标签的字符串进行截取的函数分享
Jun 19 #PHP
php解决抢购秒杀抽奖等大流量并发入库导致的库存负数的问题
Jun 19 #PHP
PHP base64编码后解码乱码的解决办法
Jun 19 #PHP
PHP安全的URL字符串base64编码和解码
Jun 19 #PHP
PHP中的多行字符串传递给JavaScript的两种方法
Jun 19 #PHP
ThinkPHP模板引擎之导入资源文件方法详解
Jun 18 #PHP
You might like
如何使用PHP获取指定日期所在月的开始日期与结束日期
2013/08/01 PHP
[原创]php使用strpos判断字符串中数字类型子字符串出错的解决方法
2017/04/01 PHP
PHP设计模式之工厂模式实例总结
2017/09/01 PHP
Js动态创建div
2008/09/25 Javascript
对xmlHttp对象的理解
2011/01/17 Javascript
jQuery动态添加的元素绑定事件处理函数代码
2011/08/02 Javascript
jquery特效 幻灯片效果示例代码
2013/07/16 Javascript
Backbone.js 0.9.2 源码注释中文翻译版
2015/06/25 Javascript
学习jQuey中的return false
2015/12/18 Javascript
详解Bootstrap的iCheck插件checkbox和radio
2016/08/24 Javascript
尝试自己动手用react来写一个分页组件(小结)
2018/02/09 Javascript
Vue2.0子同级组件之间数据交互方法
2018/02/28 Javascript
在NPM发布自己造的轮子的方法步骤
2019/03/09 Javascript
Elementui表格组件+sortablejs实现行拖拽排序的示例代码
2019/08/28 Javascript
为什么Vue3.0使用Proxy实现数据监听(defineProperty表示不背这个锅)
2019/10/14 Javascript
[56:35]DOTA2上海特级锦标赛C组小组赛#1 OG VS Archon第二局
2016/02/27 DOTA
Python3实现并发检验代理池地址的方法
2016/09/18 Python
Python多继承顺序实例分析
2018/05/26 Python
Python3.7中安装openCV库的方法
2018/07/11 Python
解决pycharm py文件运行后停止按钮变成了灰色的问题
2018/11/29 Python
django 微信网页授权认证api的步骤详解
2019/07/30 Python
python 字典有序并写入json文件过程解析
2019/09/30 Python
Python 解码Base64 得到码流格式文本实例
2020/01/09 Python
python print 格式化输出,动态指定长度的实现
2020/04/12 Python
win10下python3.8的PIL库安装过程
2020/06/08 Python
python excel和yaml文件的读取封装
2021/01/12 Python
SHEIN香港:价格实惠的女性时尚服装
2018/08/14 全球购物
什么是servlet
2012/05/08 面试题
双方协议书
2014/04/22 职场文书
本科生求职信
2014/06/17 职场文书
房屋租赁合同补充协议
2014/10/11 职场文书
2015年团支部工作总结
2015/04/03 职场文书
2015年度个人思想工作总结
2015/04/08 职场文书
陈斌强事迹观后感
2015/06/17 职场文书
导游词之西湖雷峰塔
2019/09/18 职场文书
Java无向树分析 实现最小高度树
2022/04/09 Javascript