PHP获取文件的MD5值并判断是否被修改的例子

这篇文章主要介绍了PHP获取文件的MD5值并判断是否被修改的例子,Message Digest Algorithm MD5(中文名为消息摘要算法第五版)为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护,需要的朋友可以参考下。

由于需要判断上传的文件是否被修改过,需要记录上传文件的md5值,这里记录一下获取文件md5值的方法,代码如下:

  1. if(isset($_FILES['multimedia']) && $_FILES['multimedia']['error']==0) 
  2.  $file_name = $_FILES['multimedia']['name']; 
  3.  $size = getimagesize($_FILES['multimedia']['tmp_name']); 
  4.     $type = $_FILES['multimedia']['type']; 
  5.  $original = $_FILES['multimedia']['tmp_name']; 
  6.  $md5 = md5_file($original); 
  7.  echo $md5

md5_file()

md5_file() 函数计算文件的 MD5 散列。md5() 函数使用 RSA 数据安全,包括 MD5 报文摘译算法。如果成功,则返回所计算的 MD5 散列,如果失败,则返回 false。

语法:md5(string,raw)

参数string,必需。规定要计算的文件。

参数charlist,可选。规定十六进制或二进制输出格式:TRUE – 原始 16 字符二进制格式;FALSE – 默认。32 字符十六进制数,代码如下:

  1. <?php 
  2. $filename = "test.txt"
  3. $md5file = md5_file($filename); 
  4. echo $md5file
  5. ?> 

存储 "test.txt" 文件的 MD5 散列:

  1. <?php 
  2. $md5file = md5_file("test.txt"); 
  3. file_put_contents("md5file.txt",$md5file); 
  4. ?> 

在本例中,我们将检测 "test.txt" 是否已被更改(即是否 MD5 散列已被更改):

  1. <?php 
  2. $md5file = file_get_contents("md5file.txt"); 
  3. if (md5_file("test.txt") == $md5file
  4.  echo "The file is ok."
  5. else 
  6.  echo "The file has been changed."
  7. ?> 

输出:The file is ok.

Adminn.Cn部分文章收集自网络,供站长学习交流使用,如侵犯您的权益,请联系我们删除或修正。站内分享部分源码需付费下载,维持网站开支。20RMB以上源码下载后安装碰到问题,请联系QQ677123帮助。但我们分享源码仅供学习研究使用,如您要直接上线做站,请自负版权等问题,并严格遵守互联网法律法规建站,远离黄赌骗。也不给灰色行业提供任何广告服务。净化网络环境,站长更有责!!!
站长分享圈 » PHP获取文件的MD5值并判断是否被修改的例子