【问题标题】:Archives downloaded with CURL not valid使用 CURL 下载的档案无效
【发布时间】: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 文件。

谁能帮我解决这个问题?

【问题讨论】:

    标签: php curl zip archive fputs


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-07-22
      • 1970-01-01
      • 1970-01-01
      • 2021-11-28
      • 2016-03-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多