Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/240.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从HTTP下载了一个大文件后,如何检查它是否正常?_Php_Http_Request_Md5_Checksum - Fatal编程技术网

Php 从HTTP下载了一个大文件后,如何检查它是否正常?

Php 从HTTP下载了一个大文件后,如何检查它是否正常?,php,http,request,md5,checksum,Php,Http,Request,Md5,Checksum,是否有任何方法发送http请求以了解文件的md5 我需要它,因为我有一个php脚本,可以从http下载远程文件,然后在本地写入 我想检查一下它是否被正确地转移了 感谢您在原始服务器上没有校验和,无论是外部文件还是内部文件,如.exe,您都不能。 HTTP不提供这样的功能。HTTP实际上TCP有内部错误检查,所以您下载的所有内容都是正确的。唯一的问题是下载不完整,因此请检查文件大小。这不是很有效,但您可以下载两次,然后使用md5或sha对每个文件进行校验和。如果两者匹配,并且大小与内容长度头匹配,

是否有任何方法发送http请求以了解文件的md5

我需要它,因为我有一个php脚本,可以从http下载远程文件,然后在本地写入

我想检查一下它是否被正确地转移了


感谢您在原始服务器上没有校验和,无论是外部文件还是内部文件,如.exe,您都不能。
HTTP不提供这样的功能。

HTTP实际上TCP有内部错误检查,所以您下载的所有内容都是正确的。唯一的问题是下载不完整,因此请检查文件大小。

这不是很有效,但您可以下载两次,然后使用md5或sha对每个文件进行校验和。如果两者匹配,并且大小与内容长度头匹配,则可能是正确的。

HTTP响应中应该有一个头,但很少有Web服务器发送它。对于Apache,它取决于ContentDigest on指令。或者您有两个损坏文件的副本是的,但是如果两个校验和都匹配,那么它在服务器上也可能损坏。它仍然是正确的。