使用 CURL 下载的档案无效

Posted

技术标签:

【中文标题】使用 CURL 下载的档案无效【英文标题】:Archives downloaded with CURL not valid 【发布时间】:2014-08-18 22:46:38 【问题描述】:

我有一个 php 脚本,它使用 cURL 函数从某些 URL 自动下载一些 zip 文件。

但是有一个问题:使用 CURL 下载的 zip 存档,如果使用 Windows 原生 Zip Extractor 打开,它会给我一个“无效存档”错误。如果我使用浏览器从 URL 下载 zip 文件,就可以了。

例如:使用 CURL 下载的 zip 为 21,8 Kb,从浏览器下载的 zip 为 21,4 Kb。

这是我的卷发设置:

curl_setopt($this->ch, CURLOPT_URL, $link);
curl_setopt($this->ch, CURLOPT_HEADER, TRUE);
$data  = curl_exec($this->ch);

然后我将文件 ($data) 保存在我的网站上,如下所示:

$file = fopen($full_path, "w+");
fputs($file, $data);
fclose($file);

使用 WinRar 两个 zip 都很好,但我需要脚本来下载 100% 有效的 zip 文件。

谁能帮我解决这个问题?

【问题讨论】:

【参考方案1】:

找到解决方案:CURLOPT_HEADER 必须设置为 false,否则它将写入 HTTP 标头作为响应(在我的 zip 文件中也是如此)。

【讨论】:

以上是关于使用 CURL 下载的档案无效的主要内容,如果未能解决你的问题,请参考以下文章

如何重新建立个人档案

如何使用 AWS CLI 从 Glacier 下载档案

下载 opentok 会话档案

iPadOS 15 新功能:下载传输档案有进度条了

text WebForm - 大型档案下载

fastdfs档案伺服器,上传的档案存在哪