使用 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 下载的档案无效的主要内容,如果未能解决你的问题,请参考以下文章