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实现mysql数据库备份类
Mar 20 PHP
PHP数组 为文章加关键字连接 文章内容自动加链接
Dec 29 PHP
深入理解php的MySQL连接类
Jun 07 PHP
解析php file_exists无效的解决办法
Jun 26 PHP
PHP中soap的用法实例
Oct 24 PHP
php字符串截取函数用法分析
Nov 25 PHP
解析PHP的Yii框架中cookie和session功能的相关操作
Mar 17 PHP
自定义min版smarty模板引擎MinSmarty.class.php文件及用法
May 20 PHP
php、java、android、ios通用的3des方法(推荐)
Sep 09 PHP
php基于websocket搭建简易聊天室实践
Oct 24 PHP
简单实现php上传文件功能
Sep 21 PHP
PHP实现的简单组词算法示例
Apr 10 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
DOTA2 玩家自创拉野攻略 特色英雄快速成长篇
2020/04/20 DOTA
php模拟socket一次连接,多次发送数据的实现代码
2011/07/26 PHP
深入浅析php中sprintf与printf函数的用法及区别
2016/01/08 PHP
ThinkPHP 模板引擎使用详解
2017/05/07 PHP
Laravel框架源码解析之模型Model原理与用法解析
2020/05/14 PHP
使用jquery给input和textarea设定ie中的focus
2008/05/29 Javascript
一个简单的js树形菜单
2011/12/09 Javascript
js获取键盘按键响应事件(兼容各浏览器)
2013/05/16 Javascript
raphael.js绘制中国地图 地图绘制方法
2014/02/12 Javascript
JavaScript实现的类字典插入或更新方法实例
2015/07/10 Javascript
Query常用DIV操作获取和设置长度宽度的实现方法
2016/09/19 Javascript
jQuery Ajax File Upload实例源码
2016/12/12 Javascript
laydate.js日期时间选择插件
2017/01/04 Javascript
D3.js中强制异步文件读取同步的几种方法
2017/02/06 Javascript
微信小程序 动画的简单实例
2017/10/12 Javascript
NodeJS 文件夹拷贝以及删除功能
2019/09/03 NodeJs
Angular8 实现table表格表头固定效果
2020/01/03 Javascript
python实现文件名批量替换和内容替换
2014/03/20 Python
详解Python中映射类型的内建函数和工厂函数
2015/08/19 Python
Python爬虫抓取手机APP的传输数据
2016/01/22 Python
python实现微信自动回复功能
2018/04/11 Python
Python实现的求解最小公倍数算法示例
2018/05/03 Python
python中如何使用分步式进程计算详解
2019/03/22 Python
python游戏开发之视频转彩色字符动画
2019/04/26 Python
Windows系统Python直接调用C++ DLL的方法
2019/08/01 Python
Python pip 安装与使用(安装、更新、删除)
2019/10/06 Python
python实现b站直播自动发送弹幕功能
2021/02/20 Python
HTML5中判断横屏竖屏的方法(移动端)
2016/08/04 HTML / CSS
小组口号大全
2014/06/09 职场文书
小学家长学校培训材料
2014/08/24 职场文书
安全责任书范文
2014/08/25 职场文书
2016大学自主招生推荐信范文
2015/03/23 职场文书
小学班主任教育随笔
2015/08/15 职场文书
决心书格式范文
2015/09/23 职场文书
2020年元旦晚会策划书模板
2019/12/30 职场文书
python基础之//、/与%的区别详解
2022/06/10 Python