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 相关文章推荐
做一个有下拉功能的留言版
Oct 09 PHP
PHP Session变量不能传送到下一页的解决方法
Nov 27 PHP
PHP 面向对象 final类与final方法
May 05 PHP
php 带逗号千位符数字的处理方法
Jan 10 PHP
如何在PHP中使用正则表达式进行查找替换
Jun 13 PHP
探讨:parse url解析URL,返回其组成部分
Jun 14 PHP
PHP获取php,mysql,apche的版本信息示例代码
Jan 16 PHP
Laravel实现autoload方法详解
May 07 PHP
php实现的顺序线性表示例
May 04 PHP
Yii框架页面渲染操作实例详解
Jul 19 PHP
PHP实现新型冠状病毒疫情实时图的实例
Feb 04 PHP
PHP常量DIRECTORY_SEPARATOR原理及用法解析
Nov 10 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生成简单的验证码
2016/06/01 PHP
PHP读取CSV大文件导入数据库的实例
2017/07/24 PHP
PHP常用日期加减计算方法实例小结
2018/07/31 PHP
JS数学函数Exp使用说明
2012/08/09 Javascript
jQuery防止click双击多次提交及传递动态函数或多参数
2014/04/02 Javascript
JavaScript中判断页面关闭、页面刷新的实现代码
2014/08/27 Javascript
js实现跨域的4种实用方法原理分析
2015/10/29 Javascript
javascript轮播图算法
2016/10/21 Javascript
jQuery手指滑动轮播效果
2016/12/22 Javascript
React创建组件的三种方式及其区别
2017/01/12 Javascript
说说如何在Vue.js中实现数字输入组件的方法
2019/01/08 Javascript
Angular7.2.7路由使用初体验
2019/03/01 Javascript
实例讲解React 组件
2020/07/07 Javascript
解决vue scoped html样式无效的问题
2020/10/24 Javascript
antd design table更改某行数据的样式操作
2020/10/31 Javascript
使用Python脚本将绝对url替换为相对url的教程
2015/04/24 Python
Python中使用插入排序算法的简单分析与代码示例
2016/05/04 Python
利用Python实现命令行版的火车票查看器
2016/08/05 Python
python Pandas 读取txt表格的实例
2018/04/29 Python
在Pycharm中执行scrapy命令的方法
2019/01/16 Python
详解Django3中直接添加Websockets方式
2020/02/12 Python
详解pandas绘制矩阵散点图(scatter_matrix)的方法
2020/04/23 Python
浅谈keras 模型用于预测时的注意事项
2020/06/27 Python
Pycharm新手使用教程(图文详解)
2020/09/17 Python
使用Python判断一个文件是否被占用的方法教程
2020/12/16 Python
HTML5的文档结构和新增标签完全解析
2017/04/21 HTML / CSS
汉语言文学毕业生求职信
2013/10/01 职场文书
大专应届生个人简历的自我评价
2013/10/15 职场文书
思想政治教育专业个人求职信范文
2013/12/20 职场文书
音乐教师求职信范文
2015/03/20 职场文书
大学生实习介绍信
2015/05/05 职场文书
工作感想范文
2015/08/07 职场文书
入党后的感想
2015/08/10 职场文书
Python 制作自动化翻译工具
2021/04/25 Python
python如何正确使用yield
2021/05/21 Python
python tkinter Entry控件的焦点移动操作
2021/05/22 Python