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遍历数组的几种方法
Mar 22 PHP
深入php self与$this的详解
Jun 08 PHP
PHP 过滤页面中的BOM(实现代码)
Jun 29 PHP
基于flush()不能按顺序输出时的解决办法
Jun 29 PHP
Smarty foreach控制循环次数的一些方法
Jul 01 PHP
php实现Session存储到Redis
Nov 11 PHP
php生成高清缩略图实例详解
Dec 07 PHP
php出租房数据管理及搜索页面
May 23 PHP
Yii 2中的load()和save()示例详解
Aug 03 PHP
PHP通过GD库实现验证码功能示例
Feb 23 PHP
PHP dirname(__FILE__)原理及用法解析
Oct 28 PHP
PHP基本语法
Mar 31 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使用sql数据库 获取字段问题介绍
2013/08/12 PHP
php中session与cookie的比较
2015/01/27 PHP
php中数据库连接方式pdo和mysqli对比分析
2015/02/25 PHP
PHP实现动态柱状图改进版
2015/03/30 PHP
php使用socket post数据到其它web服务器的方法
2015/06/02 PHP
php中html_entity_decode实现HTML实体转义
2018/06/13 PHP
JsEasy简介 JsEasy是什么?与下载
2007/03/07 Javascript
js实现addClass,removeClass,hasClass的函数代码
2011/07/13 Javascript
JS验证邮箱格式是否正确的代码
2013/12/05 Javascript
jQuery显示和隐藏 常用的状态判断方法
2015/01/29 Javascript
js选项卡的实现方法
2015/02/09 Javascript
深入理解jquery跨域请求方法
2016/05/18 Javascript
JS HTML5实现拖拽移动列表效果
2020/08/27 Javascript
NodeJS安装图文教程
2018/04/19 NodeJs
浅谈vue中.vue文件解析流程
2018/04/24 Javascript
JavaScript引用类型Object常见用法实例分析
2018/08/08 Javascript
vue中使用v-for时为什么不能用index作为key
2020/04/04 Javascript
从零学python系列之教你如何根据图片生成字符画
2014/05/23 Python
在Python中操作文件之truncate()方法的使用教程
2015/05/25 Python
python 实现上传图片并预览的3种方法(推荐)
2017/07/14 Python
Python3实战之爬虫抓取网易云音乐的热门评论
2017/10/09 Python
解决python 未发现数据源名称并且未指定默认驱动程序的问题
2018/12/07 Python
Pytorch中的variable, tensor与numpy相互转化的方法
2019/10/10 Python
python 利用turtle库绘制笑脸和哭脸的例子
2019/11/23 Python
css3的transform中scale缩放详解
2014/12/08 HTML / CSS
使用HTML5的Notification API制作web通知的教程
2015/05/08 HTML / CSS
加拿大当代时尚服饰、配饰和鞋类专业零售商和制造商:LE CHÂTEAU
2017/10/06 全球购物
澳大利亚网上玩具商店:Mr Toys Toyworld
2018/03/25 全球购物
小学运动会广播稿200字(十二篇)
2014/01/14 职场文书
电力安全事故反思
2014/04/27 职场文书
法定代表人授权委托书范文
2014/08/02 职场文书
乡镇领导班子四风整顿行动工作汇报
2014/10/25 职场文书
离婚协议书的范本
2015/01/27 职场文书
阿里云k8s服务升级时502错误 springboot项目应用
2022/04/09 Servers
Elasticsearch 配置详解
2022/04/19 Java/Android
MySQL如何修改字段类型和字段长度
2022/06/10 MySQL