有没有办法检查从远程服务器接收的内容是否为.zip压缩文件?我在这里找到了很多解决方案,但都是针对本地文件的;因此,这些解决方案使用像fopen,fgets等文件句柄资源。PHP - 检查文件是否被归档而不使用句柄资源
简而言之,curl用于从远程服务器获取内容。根据远程服务器上的验证结果(我无权访问),它会以纯文本形式返回.zip压缩文件或错误消息。如果返回.zip文件,我从卷曲接收内容的样子:
然后,我只是用的fwrite函数写接收的内容到本地文件。当然,如果没有归档,内容如下:
some random message here
这就是我所拥有的。那么,有没有办法检查返回的内容是否为.zip压缩文件?当然,我可以使用这样一个解决方案:
if (stristr($content, "some random message here")) {//not zip archive}
但这是跛脚...
如果您信任远程服务器,则可以依赖Content-Type标头。 –
我想从我拥有的内容中获取标题是不可能的。我在问,因为我需要使用许多curl get/post请求,所以我使用了这样一个函数 - $ content = curl_get($ url,$ params),其中$ content是远程服务器返回的内容。否则,我想这将需要重写一些代码。 –