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 相关文章推荐
收集的DedeCMS一些使用经验
Mar 17 PHP
php 防止单引号,双引号在接受页面转义
Jul 10 PHP
PHP form 表单传参明细研究
Jul 17 PHP
ajax php传递和接收变量实现思路及代码
Dec 19 PHP
zend Framework中的Layout(模块化得布局)详解
Jun 28 PHP
php调整服务器时间的方法
Apr 03 PHP
thinkPHP使用post方式查询时分页失效的解决方法
Dec 09 PHP
基于ThinkPHP实现批量删除
Dec 18 PHP
深入剖析浏览器退出之后php还会继续执行么
May 17 PHP
Django中的cookie与session操作实例代码
Aug 17 PHP
php-fpm添加service服务的例子
Apr 27 PHP
Laravel 微信小程序后端搭建步骤详解
Nov 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
德劲1103二次变频版的打磨
2021/03/02 无线电
ThinkPHP3.2.2的插件控制器功能
2015/03/05 PHP
PHP通过API获取手机号码归属地
2015/05/28 PHP
thinkphp查询,3.X 5.0方法(亲试可行)
2017/06/17 PHP
PHP获取远程http或ftp文件的md5值的方法
2019/04/15 PHP
PHP7 弃用功能
2021/03/09 PHP
Javascript 布尔型分析
2008/12/22 Javascript
没有document.getElementByName方法
2013/08/19 Javascript
JQueryiframe页面操作父页面中的元素与方法(实例讲解)
2013/11/19 Javascript
将HTML的左右尖括号等转义成实体形式的两种实现方式
2014/05/04 Javascript
jQuery学习笔记之toArray()
2014/06/09 Javascript
jQuery事件绑定和委托实例
2014/11/25 Javascript
jquery隔行换色效果实现方法
2015/01/15 Javascript
jQuery侧边栏实现代码
2016/05/06 Javascript
EasyUI加载完Html内容样式渲染完成后显示
2016/07/25 Javascript
在线引用最新jquery文件的实现方法
2016/08/26 Javascript
js中常用的Tab切换效果(推荐)
2016/08/30 Javascript
JS实现隔行换色的表格排序
2017/03/27 Javascript
Node.JS更改Windows注册表Regedit的方法小结
2017/08/18 Javascript
js传递数组参数到后台controller的方法
2018/03/29 Javascript
vue ssr 指南详读
2018/06/29 Javascript
在Vant的基础上封装下拉日期控件的代码示例
2018/12/05 Javascript
vue.js实现简单购物车功能
2020/05/30 Javascript
基于Vant UI框架实现时间段选择器
2020/12/24 Javascript
python的tkinter布局之简单的聊天窗口实现方法
2014/09/03 Python
对Python新手编程过程中如何规避一些常见问题的建议
2015/04/01 Python
使用Python编写一个在Linux下实现截图分享的脚本的教程
2015/04/24 Python
python编写分类决策树的代码
2017/12/21 Python
小白教你PyCharm从下载到安装再到科学使用PyCharm2020最新激活码
2020/09/25 Python
解决PDF 转图片时丢文字的一种可能方式
2021/03/04 Python
非洲NO.1网上商店:Jumia肯尼亚
2016/08/18 全球购物
班组建设经验交流材料
2014/05/12 职场文书
2014年效能监察工作总结
2014/11/21 职场文书
2014年英语教研组工作总结
2014/12/06 职场文书
大学军训决心书
2015/02/05 职场文书
详解SQL报错盲注
2022/07/23 SQL Server