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二分法在IP地址查询中的应用
Aug 12 PHP
windows下zendframework项目环境搭建(通过命令行配置)
Dec 06 PHP
php检测网页是否被百度收录的函数代码
Oct 09 PHP
PHP Curl多线程原理实例详解
Nov 06 PHP
THINKPHP2.0到3.0有哪些改进之处
Jan 04 PHP
Yii2.0表关联查询实例分析
Jul 18 PHP
PHP控制反转(IOC)和依赖注入(DI)
Mar 13 PHP
PHP获取日期对应星期、一周日期、星期开始与结束日期的方法
Jun 22 PHP
PHP中上传文件打印错误错误类型分析
Apr 14 PHP
laravel 自定义常量的两种方案
Oct 14 PHP
tp5框架基于Ajax实现列表无刷新排序功能示例
Feb 10 PHP
PHP中abstract(抽象)、final(最终)和static(静态)原理与用法详解
Jun 05 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制作的意见反馈表源码
2007/03/11 PHP
php采用curl访问域名返回405 method not allowed提示的解决方法
2014/06/26 PHP
ioncube_loader_win_5.2.dll的错误解决方法
2015/01/04 PHP
学习php设计模式 php实现策略模式(strategy)
2015/12/07 PHP
php swoole多进程/多线程用法示例【基于php7nts版】
2019/08/12 PHP
动态调用CSS文件的JS代码
2010/07/29 Javascript
JQuery的自定义事件代码,触发,绑定简单实例
2013/08/01 Javascript
异步JS框架的作用以及实现方法
2015/10/29 Javascript
javascript针对不确定函数的执行方法
2015/12/16 Javascript
Javascript将字符串日期格式化为yyyy-mm-dd的方法
2016/10/27 Javascript
基于Vue实现拖拽效果
2018/04/27 Javascript
使用Three.js实现太阳系八大行星的自转公转示例代码
2019/04/09 Javascript
使用Python脚本来获取Cisco设备信息的示例
2015/05/04 Python
深入浅析Python中join 和 split详解(推荐)
2016/06/30 Python
python 设置文件编码格式的实现方法
2017/12/21 Python
学习python中matplotlib绘图设置坐标轴刻度、文本
2018/02/07 Python
Python简单获取网卡名称及其IP地址的方法【基于psutil模块】
2018/05/24 Python
libreoffice python 操作word及excel文档的方法
2019/07/04 Python
django 环境变量配置过程详解
2019/08/06 Python
python批量修改ssh密码的实现
2019/08/08 Python
python滑块验证码的破解实现
2019/11/10 Python
女装和独特珠宝:Sundance Catalog
2018/09/19 全球购物
Does C# support multiple inheritance? (C#支持多重继承吗)
2012/01/04 面试题
职业规划书如何设计?
2014/01/09 职场文书
给水工程专业毕业生自荐信
2014/01/28 职场文书
大学秋游活动方案
2014/02/11 职场文书
2014年幼儿园植树节活动方案
2014/03/02 职场文书
《谁的本领大》教后反思
2014/04/25 职场文书
环保倡议书400字
2014/05/15 职场文书
2014年煤矿工人工作总结
2014/12/08 职场文书
电视新闻稿
2015/07/17 职场文书
教师师德工作总结2015
2015/07/22 职场文书
校园之声广播稿
2015/08/18 职场文书
导游词之苏州寒山寺
2019/12/05 职场文书
浅谈Node的内存泄露问题
2022/05/06 NodeJs
SpringBoot深入分析讲解监听器模式下
2022/07/15 Java/Android