PHP获得文件的md5


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

1 if(isset($_FILES['multimedia']) && $_FILES['multimedia']['error']==0)
2 {
3     $file_name $_FILES['multimedia']['name'];
4     $size getimagesize($_FILES['multimedia']['tmp_name']);
5     $type $_FILES['multimedia']['type'];
6     $original $_FILES['multimedia']['tmp_name'];
7     $md5 = md5_file($original);
8     echo $md5;
9 }
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 散列已被更改):

01 <?php
02 $md5file file_get_contents("md5file.txt");
03 if (md5_file("test.txt") == $md5file)
04 {
05     echo "The file is ok.";
06 }
07 else
08 {
09     echo "The file has been changed.";
10 }
11 ?> 

输出:

1 The file is ok.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值