1
我试图从网站下载biggish csv文件。我已经看到了使用file_get_contents和file_put_contents的建议,但由于文件大小的原因,我选择使用cURL及其文件句柄选项,因此数据直接传输到文件而不是PHP内存。从网址下载文件,并验证文件已被完全下载
但是,我似乎得到一个奇怪的错误,其中由整个文件并不总是下载,我不确定如何验证整个文件已被下载没有使用响应头,我不知道如何在使用cURL的文件句柄选项时访问。
这是我在一分钟内使用的文件。
$ch = curl_init('*FILE_TO_GET*');
$fp = fopen('*WHERE_TO_FILE*', 'wb');
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_exec($ch);
curl_close($ch);
fclose($fp);
这些文件目前大约为3.8 MB,但它有可能变得更大。
http://www.google.com/search?q=php+curl+response+header – 2013-02-28 11:17:34
尝试'curl_getinfo($ ch)'并检查所有参数是否正常。 – SilentAssassin 2013-02-28 11:18:29
@ KarolyHorvath谢谢,但我已经知道如何使用谷歌。我可以找到的所有示例都需要将文件加载到内存中以获取标题。 – James 2013-02-28 11:22:38