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的一个完整SMTP类(解决邮件服务器需要验证时的问题)
Oct 09 PHP
PHP中,文件上传
Dec 06 PHP
php图片验证码代码
Mar 27 PHP
php5 pdo新改动加载注意事项
Sep 11 PHP
安装apache2.2.22配置php5.4(具体操作步骤)
Jun 26 PHP
6种php上传图片重命名的方法实例
Nov 04 PHP
php版本的cron定时任务执行器使用实例
Aug 19 PHP
PHP实现的迷你漂流瓶
Jul 29 PHP
php pthreads多线程的安装与使用
Jan 19 PHP
Laravel5.* 打印出执行的sql语句的方法
Jul 24 PHP
php微信开发之关键词回复功能
Jun 13 PHP
Thinkphp5.0框架视图view的循环标签用法示例
Oct 12 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
成本8450万,票房仅2亿,口碑两极分化,又一部DC电影扑街了
2020/04/09 欧美动漫
人尽可用的Windows技巧小贴士之下篇
2007/03/22 PHP
Base64在线编码解码实现代码 演示与下载
2011/01/08 PHP
CodeIgniter配置之database.php用法实例分析
2016/01/20 PHP
详解配置 Apache 服务器支持 PHP 文件的解析
2017/02/15 PHP
js资料toString 方法
2007/03/13 Javascript
javascript 限制输入和粘贴(IE,firefox测试通过)
2008/11/14 Javascript
jQuery asp.net 用json格式返回自定义对象
2010/04/07 Javascript
JQuery获取浏览器窗口内容部分高度的代码
2012/02/24 Javascript
JavaScript表单验证实例之验证表单项是否为空
2016/01/10 Javascript
jQuery插件制作的实例教程
2016/05/16 Javascript
原生JS实现图片轮播与淡入效果的简单实例
2016/08/21 Javascript
jQuery通过ajax快速批量提交表单数据
2016/10/25 Javascript
JS函数修改html的元素内容,及修改属性内容的方法
2016/10/28 Javascript
基于JS实现9种不同的面包屑和分布式多步骤导航效果
2017/02/21 Javascript
解决OneThink中无法异步提交kindeditor文本框中修改后的内容方法
2017/05/05 Javascript
详解Layer弹出层样式
2017/08/21 Javascript
vue2.x+webpack快速搭建前端项目框架详解
2017/11/30 Javascript
vue左右侧联动滚动的实现代码
2018/06/06 Javascript
如何自动化部署项目?折腾服务器之旅~
2019/04/16 Javascript
js 压缩图片的示例(只缩小体积,不更改图片尺寸)
2020/10/21 Javascript
[01:03:27]Optic vs VGJ.S 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
python 文件操作api(文件操作函数)
2016/08/28 Python
python3爬取数据至mysql的方法
2018/06/26 Python
python 使用正则表达式按照多个空格分割字符的实例
2018/12/20 Python
python pandas获取csv指定行 列的操作方法
2019/07/12 Python
pytorch nn.Conv2d()中的padding以及输出大小方式
2020/01/10 Python
Python print不能立即打印的解决方式
2020/02/19 Python
CSS 3.0文字悬停跳动特效代码
2020/10/26 HTML / CSS
客服文员岗位职责
2013/11/29 职场文书
体育专业自荐书
2014/05/29 职场文书
红头文件任命书范本
2014/06/05 职场文书
党员考试作弊检讨书1000字
2015/02/16 职场文书
电影圆明园观后感
2015/06/03 职场文书
2016年大学生社区服务活动总结
2016/04/06 职场文书
总结Pyinstaller打包的高级用法
2021/06/28 Python