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往windows中添加用户
Dec 06 PHP
php在线生成ico文件的代码
Oct 09 PHP
PHP中break及continue两个流程控制指令区别分析
Apr 18 PHP
PHP include_path设置技巧分享
Jul 03 PHP
将时间以距今多久的形式表示,PHP,js双版本
Sep 25 PHP
PHP中使用循环实现的金字塔图形
Nov 08 PHP
PHP中使用CURL获取页面title例子
Jan 07 PHP
PHP计算百度地图两个GPS坐标之间距离的方法
Jan 09 PHP
浅谈php提交form表单
Jul 01 PHP
PHP设计模式之委托模式定义与用法简单示例
Aug 13 PHP
laravel实现Auth认证,登录、注册后的页面回跳方法
Sep 30 PHP
php解决约瑟夫环算法实例分析
Sep 30 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代码的53条建议
2008/03/27 PHP
在php MYSQL中插入当前时间
2008/04/06 PHP
使ecshop模板中可引用常量的实现方法
2011/06/02 PHP
php使用socket post数据到其它web服务器的方法
2015/06/02 PHP
php通过curl添加cookie伪造登陆抓取数据的方法
2016/04/02 PHP
PHP实现的进度条效果详解
2016/05/03 PHP
php实现当前页面点击下载文件的简单方法
2016/09/22 PHP
PHP关键特性之命名空间实例详解
2017/05/06 PHP
Javascript 强制类型转换函数
2009/05/17 Javascript
3款实用的在线JS代码工具(国外)
2012/03/15 Javascript
基于JQuery的类似新浪微博展示信息效果的代码
2012/07/23 Javascript
使用js检测浏览器的实现代码
2013/05/14 Javascript
javascript间隔刷新的简单实例
2013/11/14 Javascript
jQuery CSS()方法改变现有的CSS样式表
2014/09/09 Javascript
jquery禁止回车触发表单提交
2014/12/12 Javascript
JavaScript获取各大浏览器信息图示
2015/11/20 Javascript
深入理解JS函数的参数(arguments)的使用
2016/05/28 Javascript
Angular中$cacheFactory的作用和用法实例详解
2016/08/19 Javascript
jquery.Callbacks的实现详解
2016/11/30 Javascript
微信小程序  TLS 版本必须大于等于1.2问题解决
2017/02/22 Javascript
深入理解JavaScript 中的匿名函数((function() {})();)与变量的作用域
2018/08/28 Javascript
浅谈webpack+react多页面开发终极架构
2018/11/11 Javascript
JS实现数组去重,显示重复元素及个数的方法示例
2019/01/21 Javascript
超简单的微信小程序轮播图
2019/11/22 Javascript
vue+Element-ui实现登录注册表单
2020/11/17 Javascript
Python使用arrow库优雅地处理时间数据详解
2017/10/10 Python
解决python "No module named pip" 的问题
2018/10/13 Python
基于python求两个列表的并集.交集.差集
2020/02/10 Python
如何用Python徒手写线性回归
2021/01/25 Python
党支部书记先进事迹
2014/01/17 职场文书
诚信考试倡议书
2014/04/15 职场文书
幼儿园音乐教学反思
2016/02/18 职场文书
小学教代会开幕词
2016/03/04 职场文书
创业计划书之珠宝饰品
2019/08/26 职场文书
Python办公自动化之教你如何用Python将任意文件转为PDF格式
2021/06/28 Python
Elasticsearch6.2服务器升配后的bug(避坑指南)
2022/09/23 Servers