md5_file是否下载了从中获取校验和的文件?

时间:2010-12-18 23:11:29

标签: php md5

如果我使用md5_file在PHP中获取远程文件的校验和,它是否下载文件并获取校验和或是否从远程服务器请求校验和?基本上我想弄清楚的是,如果在重新下载文件之前对文件进行MD5检查以查看它是否已更改,那么它的带宽是否较少,但如果md5_file将文件下载到临时位置,则执行检查,我不妨直接下载文件,对吧?

3 个答案:

答案 0 :(得分:3)

它必须,是的。你可能应该做的是一个“if modified modified as”请求,只有当时间戳比你指定的时间更新时才会发送给你。我不知道你是怎么用PHP做的。

答案 1 :(得分:3)

扩展Wodins答案:如果您在远程文件上发出HEAD请求,则带宽会减少。 Web服务器响应通常包含ETag标头形式的哈希。使用:

 $h = get_headers($remote_file, true);
 $hash = $h["ETag"]  or  $hash = $h["Last-Modified"];

有关示例,请参阅http://php.net/manual/en/function.get-headers.php

答案 2 :(得分:1)

是的,它实际上是下载文件。