如果我使用md5_file在PHP中获取远程文件的校验和,它是否下载文件并获取校验和或是否从远程服务器请求校验和?基本上我想弄清楚的是,如果在重新下载文件之前对文件进行MD5检查以查看它是否已更改,那么它的带宽是否较少,但如果md5_file将文件下载到临时位置,则执行检查,我不妨直接下载文件,对吧?
答案 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"];
答案 2 :(得分:1)
是的,它实际上是下载文件。