hash_update_stream
从打开的流向活跃的哈希运算上下文中填充数据
此函数适用于 PHP 5.1.2 及以上版本。
hash_update_stream() 函数用于更新指定哈希上下文的内容,传入一个打开的文件资源(stream)。该函数将文件流中的数据计算到哈希值中,适用于需要对大文件或流数据进行哈希计算的场景。
bool hash_update_stream ( resource $context , resource $stream [, int $length = 8192 ] )
返回 布尔值,如果成功则返回 true,如果失败则返回 false。
// 获取最终的哈希值
$hash = hash_final($context);
echo "文件的 SHA-256 哈希值是: $hash";
} else {
echo "无法打开文件。";
}
?>
在上面的示例中,首先使用 hash_init('sha256') 初始化了一个 SHA-256 哈希上下文。然后使用 fopen() 打开了一个大文件 large_file.txt,并通过 hash_update_stream() 循环处理文件内容,直到文件的所有数据都被读取并更新到哈希上下文中。最后,调用 hash_final() 获取最终计算的哈希值,并将其输出。