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无限分类的类
Jan 02 PHP
PHP 采集心得技巧
May 15 PHP
PHP Memcached + APC + 文件缓存封装实现代码
Mar 11 PHP
采用PHP函数memory_get_usage获取PHP内存清耗量的方法
Dec 06 PHP
PHP6 中可能会出现的新特性预览
Apr 04 PHP
ThinkPHP中的系统常量和预定义常量集合
Jul 01 PHP
php天翼开放平台短信发送接口实现方法
Dec 22 PHP
PHP中substr函数字符串截取用法分析
Jan 07 PHP
YII2.0之Activeform表单组件用法实例
Jan 09 PHP
全面解析PHP验证码的实现原理 附php验证码小案例
Aug 17 PHP
用PHP的反射实现委托模式的讲解
Mar 22 PHP
php 函数中静态变量使用的问题实例分析
Mar 05 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/10/09 PHP
基于jquery的滚动新闻列表
2010/06/19 Javascript
Jquery+CSS3实现一款简洁大气带滑动效果的弹出层
2013/05/15 Javascript
用javascript判断IE版本号简单实用且向后兼容
2013/09/11 Javascript
jQuery插件实现表格隔行换色且感应鼠标高亮行变色
2013/09/22 Javascript
自己使用js/jquery写的一个定制对话框控件
2014/05/02 Javascript
使用JavaScript脚本无法直接改变Asp.net中Checkbox控件的Enable属性的解决方法
2015/09/16 Javascript
Angularjs全局变量被作用域监听的正确姿势
2016/02/06 Javascript
详解webpack和webpack-simple中如何引入css文件
2017/06/28 Javascript
Vue页面骨架屏的实现方法
2018/05/22 Javascript
js实现3D照片墙效果
2019/10/28 Javascript
解决vant title-active-color与title-inactive-color不生效问题
2020/11/03 Javascript
[01:59][TI9趣味视频] 全明星赛奖励
2019/08/23 DOTA
详谈Numpy中数组重塑、合并与拆分方法
2018/04/17 Python
Python实现注册、登录小程序功能
2018/09/21 Python
在Python中实现替换字符串中的子串的示例
2018/10/31 Python
解决Python print输出不换行没空格的问题
2018/11/14 Python
python 接收处理外带的参数方法
2018/12/03 Python
使用python分析统计自己微信朋友的信息
2019/07/19 Python
python django 原生sql 获取数据的例子
2019/08/14 Python
python之pymysql模块简单应用示例代码
2019/12/16 Python
一文弄懂Pytorch的DataLoader, DataSet, Sampler之间的关系
2020/07/03 Python
详解Python爬虫爬取博客园问题列表所有的问题
2021/01/18 Python
美国汽车性能部件和赛车零件网站:Vivid Racing
2018/03/27 全球购物
ghd官网:英国ghd直发器品牌
2018/05/04 全球购物
时尚孕妇装:HATCH Collection
2019/09/24 全球购物
MATCHESFASHION澳大利亚/亚太地区:英国时尚奢侈品电商
2020/01/14 全球购物
.NET里面如何取得当前的屏幕分辨率
2012/12/06 面试题
我们在web应用开发过程中经常遇到输出某种编码的字符,如iso8859-1等,如何输出一个某种编码的字符串?
2014/03/30 面试题
会计电算化专业个人的自我评价
2013/11/24 职场文书
班组长的岗位职责
2013/12/09 职场文书
舞蹈教师自荐信
2014/01/27 职场文书
敬老院院长事迹材料
2014/05/21 职场文书
学校党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
【海涛dota解说】一房久违的影魔魂守二连发
2022/04/01 DOTA
JS前端监控采集用户行为的N种姿势
2022/07/23 Javascript