使用CURL下载的档案无效

时间:2014-08-18 22:46:39

标签: php curl zip archive fputs

我有一个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两个拉链都没问题,但我需要脚本来下载100%有效的zip文件。

任何人都可以帮我吗?

1 个答案:

答案 0 :(得分:0)

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