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中文件上传的安全问题
Oct 09 PHP
php中使用cookie来保存用户登录信息的实现代码
Mar 08 PHP
php数组(array)输出的三种形式详解
Jun 05 PHP
php5.3提示Function ereg() is deprecated Error问题解决方法
Nov 12 PHP
微信公众号点击菜单即可打开并登录微站的实现方法
Nov 14 PHP
浅谈php错误提示及查错方法
Jul 14 PHP
深入php内核之php in array
Nov 10 PHP
PHP使用stream_context_create()模拟POST/GET请求的方法
Apr 02 PHP
php 实现一个字符串加密解密的函数实例代码
Nov 01 PHP
php获取访问者浏览页面的浏览器类型
Jan 23 PHP
PHP redis实现超迷你全文检索
Mar 04 PHP
php微信公众号开发之图片回复
Oct 20 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函数
2006/12/06 PHP
shopex主机报错误请求解决方案(No such file or directory)
2011/12/27 PHP
PHP版 汉字转码的实现详解
2013/06/09 PHP
php对csv文件的读取,写入,输出下载操作详解
2013/08/10 PHP
thinkphp autoload 命名空间自定义 namespace
2015/07/17 PHP
thinkPHP模板算术运算相关函数用法分析
2016/07/12 PHP
php基于SQLite实现的分页功能示例
2017/06/21 PHP
Yii2框架实现利用mpdf创建pdf文件功能示例
2019/02/08 PHP
Google的跟踪代码 动态加载js代码方法应用
2012/11/12 Javascript
javascript实现倒计时跳转页面
2016/01/17 Javascript
ng2学习笔记之bootstrap中的component使用教程
2017/03/09 Javascript
mint-ui在vue中的使用示例
2018/04/05 Javascript
eslint 的三大通用规则详解
2019/05/16 Javascript
小程序分页实践之编写可复用分页组件
2019/07/18 Javascript
[06:35]2014DOTA2国际邀请赛 老男孩梦圆西雅图中国军团世界最强
2014/07/22 DOTA
python抓取某汽车网数据解析html存入excel示例
2013/12/04 Python
在Python3中初学者应会的一些基本的提升效率的小技巧
2015/03/31 Python
在DigitalOcean的服务器上部署flaskblog应用
2015/12/19 Python
Python装饰器原理与简单用法实例分析
2018/04/29 Python
Python sklearn KFold 生成交叉验证数据集的方法
2018/12/11 Python
Python学习笔记之视频人脸检测识别实例教程
2019/03/06 Python
使用Python计算玩彩票赢钱概率
2019/06/26 Python
Python中如何将一个类方法变为多个方法
2019/12/30 Python
pandas将list数据拆分成行或列的实现
2020/12/13 Python
一款利用html5和css3实现的3D立方体旋转效果教程
2016/04/26 HTML / CSS
纯CSS3+DIV实现小三角形边框效果的示例代码
2020/08/03 HTML / CSS
HTML5 Canvas如何实现纹理填充与描边(Fill And Stroke)
2013/07/15 HTML / CSS
会计自我鉴定
2014/02/04 职场文书
个人工作表现评价材料
2014/09/21 职场文书
拯救大兵瑞恩观后感
2015/06/09 职场文书
歼十出击观后感
2015/06/11 职场文书
校友会致辞
2015/07/30 职场文书
商务信函英语问候语
2015/11/10 职场文书
介绍信应该怎么开?
2019/04/03 职场文书
世界文化遗产导游词
2019/08/07 职场文书
python glom模块的使用简介
2021/04/13 Python