PHP获取文件的MD5值并判断是否被修改的例子
程序员文章站
2023-11-23 15:13:10
由于需要判断上传的文件是否被修改过,需要记录上传文件的md5值,这里记录一下获取文件md5值的方法。
复制代码 代码如下:
if(isset($_files['mult...
由于需要判断上传的文件是否被修改过,需要记录上传文件的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在线加密工具:
http://tools.jb51.net/password/createmd5password
在线md5/hash/sha-1/sha-2/sha-256/sha-512/sha-3/ripemd-160加密工具: