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运行环境配置的详解
Jun 04 PHP
PHP加Nginx实现动态裁剪图片方案
Mar 10 PHP
浅析PHP程序设计中的MVC编程思想
Jul 28 PHP
PHP判断是否为空的几个函数对比
Apr 21 PHP
了解PHP的返回引用和局部静态变量
Jun 04 PHP
php实现的农历算法实例
Aug 11 PHP
基于PHP代码实现中奖概率算法可用于刮刮卡、大转盘等抽奖算法
Dec 20 PHP
php基于PDO连接MSSQL示例DEMO
Jul 13 PHP
php断点续传之文件分割合并详解
Dec 13 PHP
PHP批量删除jQuery操作
Jul 23 PHP
CodeIgniter框架钩子机制实现方法【hooks类】
Aug 21 PHP
goto语法在PHP中的使用教程
Sep 17 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中使用cURL实现Get和Post请求的方法
2013/03/13 PHP
php实现判断访问来路是否为搜索引擎机器人的方法
2015/04/15 PHP
PHP自毁程序(慎用)
2015/07/09 PHP
PHP实现的注册,登录及查询用户资料功能API接口示例
2017/06/06 PHP
PHP基于redis计数器类定义与用法示例
2018/02/08 PHP
javascript学习笔记(十八) 获得页面中的元素代码
2012/06/20 Javascript
jquery验证手机号码、邮箱格式是否正确示例代码
2013/07/28 Javascript
jQuery设置div一直在页面顶部显示的方法
2013/10/24 Javascript
js仿百度贴吧验证码特效实例代码
2014/01/16 Javascript
使用jsonp完美解决跨域问题
2014/11/27 Javascript
AngularJs 指令详解及示例代码
2016/09/01 Javascript
jQuery实现联动下拉列表查询框
2017/01/04 Javascript
Bootstrap面板学习使用
2017/02/09 Javascript
jQuery实现表格奇偶行显示不同背景色 就这么简单
2017/03/13 Javascript
React学习笔记之事件处理(二)
2017/07/02 Javascript
JS库 Highlightjs 添加代码行号的实现代码
2017/09/13 Javascript
vue 右键菜单插件 简单、可扩展、样式自定义的右键菜单
2018/11/29 Javascript
基于Fixed定位的框选功能的实现代码
2019/05/13 Javascript
python list中append()与extend()用法分享
2013/03/24 Python
Python使用ftplib实现简易FTP客户端的方法
2015/06/03 Python
python中利用Future对象异步返回结果示例代码
2017/09/07 Python
python 列表转为字典的两个小方法(小结)
2019/06/28 Python
python在一个范围内取随机数的简单实例
2020/08/16 Python
python如何利用paramiko执行服务器命令
2020/11/07 Python
戴尔新加坡官网:Dell Singapore
2020/12/13 全球购物
技校教师求职简历的自我评价
2013/10/20 职场文书
大专毕业生简历的自我评价
2013/10/20 职场文书
小班上学期评语
2014/05/05 职场文书
校园主题婚礼活动策划方案
2014/09/15 职场文书
六一文艺汇演开幕词
2015/01/29 职场文书
上班迟到检讨书范文
2015/05/06 职场文书
消防安全主题班会
2015/08/12 职场文书
运动会广播稿20字
2015/08/19 职场文书
《圆的周长》教学反思
2016/02/17 职场文书
golang 实现时间戳和时间的转化
2021/05/07 Golang
Python机器学习实战之k-近邻算法的实现
2021/11/27 Python