字符串函数

PHP md5_file() 函数

主题:PHP 字符串参考上一页|下一页

说明

md5_file() 函数计算文件的 MD5(消息摘要算法 5)哈希。

此函数使用 RSA Data Security, Inc. MD5 消息摘要算法计算文件的 MD5 散列,并返回该散列。 要计算字符串的 MD5 哈希,请使用 md5() 函数。

下表总结了该函数的技术细节。

返回值: 成功时返回 MD5 哈希,失败时返回 FALSE
版本: PHP 4.2.0+

语法

md5_file() 函数的基本语法如下:

md5(filename, raw_format);

下面的例子展示了 md5_file() 函数的作用。

<?php
// 示例文件
$filename = "hello.txt"; // Contains the text "Hello World!"

// 计算哈希
echo md5_file($filename);
?>

上面示例的输出将如下所示:

ed076287532e86365e841e92bfc50d8c

提示: md5_file() 函数通常用于为通过网络发送的文件创建唯一的哈希码。 因此,在下载文件后,用户可以通过计算其 MD5 哈希并将其与分发提供的哈希码进行比较来验证其完整性。 此过程可以确保通过网络传输的文件不会损坏。


参数

md5_file() 函数接受以下参数。

参数 说明
string 必填。 指定要从中创建哈希的文件的名称。
raw_format 可选。 如果设置为 true,则返回长度为 16 的原始二进制格式的哈希。默认值为 false,它将哈希作为 32 个字符的十六进制数返回。

更多示例

这里有更多示例显示 md5_file() 函数的实际工作原理:

以下示例演示如何使用此函数验证文件是否有任何更改。

下面的 PHP 代码首先将文件的 MD5 哈希值存储在文本文件中。

<?php
// 示例文件
$file = "config.asp";

// 将配置文件的 MD5 哈希值存储在"hash.txt"文件中
file_put_contents("hash.txt", md5_file($file));
?>

下面的 PHP 代码计算并比较"config.asp"文件的 MD5 哈希与存储在"hash.txt"中的初始 MD5 哈希,并告诉我们它是否被修改。

<?php
// 检索存储的 MD5 哈希
$prev_hash = file_get_contents("hash.txt");

// 用前一个验证当前的 MD5 哈希
if(md5_file("config.asp") == $prev_hash){
    echo "There has been no change in the file.";
} else{
    echo "The file has been modified.";
}
?>
Advertisements