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 MsSql server时遇到的中文编码问题
Jun 11 PHP
PHP autoload与spl_autoload自动加载机制的深入理解
Jun 05 PHP
php错误级别的设置方法
Jun 17 PHP
php出现内存位置访问无效错误问题解决方法
Aug 16 PHP
重新认识php array_merge函数
Aug 31 PHP
PHP常用技术文之文件操作和目录操作总结
Sep 27 PHP
在Debian系统下配置LNMP的教程
Jul 09 PHP
php微信公众平台开发之获取用户基本信息
Aug 17 PHP
PHP错误Warning:mysql_query()解决方法
Oct 24 PHP
PHP7内核CGI与FastCGI详解
Apr 14 PHP
TP5框架使用QueryList采集框架爬小说操作示例
Mar 26 PHP
利用PHP内置SERVER开启web服务(本地开发使用)
Mar 09 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获取http请求的头信息实现步骤
2012/12/16 PHP
php中opendir函数用法实例
2014/11/15 PHP
利用PHP生成CSV文件简单示例
2016/12/21 PHP
利用php生成验证码
2017/02/23 PHP
JS操作XML中DTD介绍及使用方法分析
2019/07/04 PHP
解决laravel5.4下的group by报错的问题
2019/10/16 PHP
javascript 浏览器检测代码精简版
2010/03/04 Javascript
jQuery 隐藏和显示 input 默认值示例
2014/06/03 Javascript
js和jquery如何获取图片真实的宽度和高度
2014/09/28 Javascript
浅谈JS中的bind方法与函数柯里化
2016/08/10 Javascript
Bootstrap 3的box-sizing样式导致UEditor控件的图片无法正常缩放的解决方案
2016/09/15 Javascript
layui导航栏实现代码
2017/05/19 Javascript
AngularJS读取JSON及XML文件的方法示例
2017/05/25 Javascript
关于layui toolbar和template的结合使用方法
2019/09/19 Javascript
vue跳转同一个组件,参数不同,页面接收值只接收一次的解决方法
2019/11/05 Javascript
解决vue组件销毁之后计时器继续执行的问题
2020/07/21 Javascript
element-ui中dialog弹窗关闭按钮失效的解决
2020/09/22 Javascript
Python实现遍历目录的方法【测试可用】
2017/03/22 Python
opencv python 图像轮廓/检测轮廓/绘制轮廓的方法
2019/07/03 Python
python实现倒计时小工具
2019/07/29 Python
基于python实现简单网页服务器代码实例
2020/09/14 Python
美国沃尔玛网上超市:Walmart
2020/08/14 全球购物
最新远光软件笔试题面试题内容
2013/11/08 面试题
WSDL的操作类型主要有几种
2013/07/19 面试题
装修致歉信
2014/01/15 职场文书
后勤服务中心总经理工作职责
2014/03/03 职场文书
工程学毕业生自荐信
2014/06/14 职场文书
化工工艺设计求职信
2014/06/25 职场文书
查摆问题自我剖析材料
2014/08/18 职场文书
党的群众路线教育实践活动个人整改措施
2014/10/27 职场文书
无违反计划生育证明格式
2015/06/24 职场文书
周末问候语大全
2015/11/10 职场文书
2016秋季田径运动会广播稿
2015/12/21 职场文书
优胜劣汰,强者为王——读《鲁滨逊漂流记》有感
2019/08/15 职场文书
Python实现机器学习算法的分类
2021/06/03 Python
DSP接收机前端设想
2022/04/05 无线电