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
BBS(php &amp; mysql)完整版(七)
Oct 09 PHP
ajax php 实现写入数据库
Sep 02 PHP
php in_array 函数使用说明与in_array需要注意的地方说明
Apr 13 PHP
php自定义函数截取汉字长度
May 15 PHP
ThinkPHP跳转页success及error模板实例教程
Jul 17 PHP
php从文件夹随机读取文件的方法
Jun 01 PHP
PHP中的静态变量及static静态变量使用详解
Nov 05 PHP
php基于dom实现的图书xml格式数据示例
Feb 03 PHP
Mac下php 5升级到php 7的步骤详解
Apr 26 PHP
PHP智能识别收货地址信息实例
Jan 05 PHP
Yii2.0框架模型添加/修改/删除数据操作示例
Jul 18 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多态的实现详解
2013/06/09 PHP
PHP调用MsSQL Server 2012存储过程获取多结果集(包含output参数)的详解
2013/07/03 PHP
PHP处理SQL脚本文件导入到MySQL的代码实例
2014/03/17 PHP
示例详解Laravel重置密码代码重构
2016/08/10 PHP
PHP数据的提交与过滤基本操作实例详解
2016/11/11 PHP
Web前端设计模式  制作漂亮的弹出层
2010/10/29 Javascript
JavaScript基础篇之变量作用域、传值、传址的简单介绍与实例
2013/06/29 Javascript
从零学JSON之JSON数据结构
2014/05/19 Javascript
javascript实现根据iphone屏幕方向调用不同样式表的方法
2015/07/13 Javascript
jquery衣服颜色选取插件效果代码分享
2015/08/28 Javascript
js只执行1次的函数示例
2016/07/20 Javascript
Google Maps基础及实例解析
2016/08/06 Javascript
bootstrapValidator bootstrap-select验证不可用的解决办法
2017/01/11 Javascript
微信小程序中用WebStorm使用LESS
2017/03/08 Javascript
JS一个简单的注册页面实例
2017/09/05 Javascript
浅谈Vue-cli单文件组件引入less,sass,css样式的不同方法
2018/03/13 Javascript
echarts鼠标覆盖高亮显示节点及关系名称详解
2018/03/17 Javascript
详解JavaScript中操作符和表达式
2018/09/12 Javascript
JavaScript实现HTML导航栏下拉菜单
2020/11/25 Javascript
Python实现单词翻译功能
2017/06/06 Python
Python正则表达式和元字符详解
2018/11/29 Python
python 实现查询Neo4j多节点的多层关系
2019/12/23 Python
python实现梯度下降法
2020/03/24 Python
python/golang实现循环链表的示例代码
2020/09/14 Python
python 三种方法实现对Excel表格的读写
2020/11/19 Python
CSS3盒子模型详解
2013/04/24 HTML / CSS
详解HTML5 canvas绘图基本使用方法
2018/01/29 HTML / CSS
html5适合移动应用开发的12大特性
2014/03/19 HTML / CSS
Emporio Armani腕表天猫官方旗舰店:乔治·阿玛尼为年轻人设计的副线品牌
2017/07/02 全球购物
科颜氏法国官网:Kiehl’s法国
2019/08/20 全球购物
房地产促销活动方案
2014/03/01 职场文书
党员领导干部廉洁从政承诺书
2014/03/27 职场文书
2016年第32个教师节红领巾广播稿
2015/12/18 职场文书
python 中[0]*2与0*2的区别说明
2021/05/10 Python
MyBatis自定义SQL拦截器示例详解
2021/10/24 Java/Android
Python 如何利用ffmpeg 处理视频素材
2021/11/27 Python