我正在尝试从网站下载一个大的 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,但它有可能变得更大。