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 相关文章推荐
模拟SQLSERVER的两个函数:dateadd(),datediff()
Oct 09 PHP
深入理解PHP之require/include顺序 推荐
Jan 02 PHP
PHP中遍历stdclass object的实现代码
Jun 09 PHP
PHP array_multisort()函数的使用札记
Jul 03 PHP
PHP中::、-&amp;gt;、self、$this几种操作符的区别介绍
Apr 24 PHP
探讨PHP调用时间格式的参数详解
Jun 06 PHP
PHP获取php,mysql,apche的版本信息示例代码
Jan 16 PHP
PHP中定义数组常量(array常量)的方法
Nov 17 PHP
php模拟登陆的实现方法分析
Jan 09 PHP
如何用PHP来实现一个动态Web服务器
Jul 29 PHP
基于PHP的登录和注册的功能的实现
Aug 06 PHP
PHP队列场景以及实现代码实例详解
Feb 26 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
PHP4 与 MySQL 数据库操作函数详解
2006/12/06 PHP
深入理解PHP内核(二)之SAPI探究
2015/11/10 PHP
分享PHP源码批量抓取远程网页图片并保存到本地的实现方法
2015/12/01 PHP
PHP+swoole+linux实现系统监控和性能优化操作示例
2019/04/15 PHP
tp5.1 框架join方法用法实例分析
2020/05/26 PHP
执行iframe中的javascript方法
2008/10/07 Javascript
JavaScript DOM学习第六章 表单实例
2010/02/19 Javascript
Javascript实现仿WebQQ界面的“浮云”兼容 IE7以上版本及FF
2011/04/27 Javascript
AngularJS学习笔记之基本指令(init、repeat)
2015/06/16 Javascript
iPhone手机上搭建nodejs服务器步骤方法
2015/07/06 NodeJs
深入浅析同源策略和跨域访问
2015/11/26 Javascript
codeMirror插件使用讲解
2017/01/16 Javascript
js表单序列化判断空值的实例
2017/09/22 Javascript
微信小程序使用modal组件弹出对话框功能示例
2017/11/29 Javascript
js中this的指向问题归纳总结
2018/11/28 Javascript
Angular CLI 使用教程指南参考小结
2019/04/10 Javascript
微信小程序自定义tabBar在uni-app的适配详解
2019/09/30 Javascript
vue axios请求成功却进入catch的原因分析
2020/09/08 Javascript
JSONObject与JSONArray使用方法解析
2020/09/28 Javascript
在vant 中使用cell组件 定义图标该图片和位置操作
2020/11/02 Javascript
[01:18:31]DOTA2-DPC中国联赛定级赛 LBZS vs Magma BO3第一场 1月10日
2021/03/11 DOTA
python实现随机森林random forest的原理及方法
2017/12/21 Python
Python多继承顺序实例分析
2018/05/26 Python
用python编写第一个IDA插件的实例
2018/05/29 Python
python实现支付宝当面付(扫码支付)功能
2018/05/30 Python
对python当中不在本路径的py文件的引用详解
2018/12/15 Python
python实现引用其他路径包里面的模块
2020/03/09 Python
使用python编写一个语音朗读闹钟功能的示例代码
2020/07/14 Python
Python中的面向接口编程示例详解
2021/01/17 Python
如何使用html5与css3完成google涂鸦动画
2012/12/16 HTML / CSS
Kappa英国官方在线商店:服装和运动器材
2020/11/22 全球购物
2014年检察院个人工作总结
2014/12/09 职场文书
监理中标通知书
2015/04/16 职场文书
《语言的突破》读后感3篇
2019/12/12 职场文书
vue中this.$http.post()跨域和请求参数丢失的解决
2022/04/08 Vue.js
Go调用Rust方法及外部函数接口前置
2022/06/14 Golang