Web サイトから大きな 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 ですが、さらに大きくなる可能性があります。