使用cURL下载ZIP已损坏

时间:2016-01-21 12:58:28

标签: php curl server

我正在尝试从提供的网址下载ZIP文件。当我直接访问URL时,我的浏览器会立即下载包含我需要的CSV文件的ZIP文件。但是我需要自动下载这个ZIP文件。所以我试图用cURL下载ZIP。

但每次我尝试使用cURL下载它时,似乎ZIP文件已损坏。当我尝试打开ZIP文件时,我总是收到以下错误:

  

未找到存档。存档格式未知或已损坏。

当我使用cURL下载文件时,该文件只有59 KB,但是当我使用浏览器下载文件时文件更大。使用浏览器下载的ZIP文件的文件大小为2.7 MB。

这是我目前的代码:

ini_set("display_errors", 1);
set_time_limit(0);

$source = "url";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $source);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSLVERSION,3);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 0);
curl_setopt($ch, CURLOPT_TIMEOUT, 0);
curl_setopt($ch, CURLOPT_HEADER, 0);
$data = curl_exec ($ch);
$error = curl_error($ch); 

curl_close ($ch);

$destination = "118151_alloy_nl.rar";
$file = fopen($destination, "w+");
fputs($file, $data);
fclose($file);

有人能告诉我我做错了吗?

0 个答案:

没有答案