0

我有一个 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 文件。

谁能帮我这个?

4

1 回答 1

0

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

于 2014-08-18T23:28:16.523 回答