このコードを使用して、ユーザーがzipファイルをダウンロードできるようにします。
if(file_exists($filename)){
header("Content-Disposition: attachment; filename=".basename(str_replace(' ', '_', $filename)));
header("Content-Type: application/force-download");
header("Content-Type: application/octet-stream");
header("Content-Type: application/download");
header("Content-Description: File Transfer");
header("Content-Length: " . filesize($filename));
flush();
$fp = fopen($filename, "r");
while (!feof($fp))
{
echo fread($fp, 65536);
flush();
}
fclose($fp);
exit;
}
ファイルをダウンロードすると、25,632キロバイトのデータしかダウンロードされません。ただし、zipファイルは26,252キロバイトです...
なぜブラウザは25MBをすべて取得するのに、停止するのですか?
ヘッダーをチェックして、Content-Length
それが正しいことを確認しました...
編集
Firefoxでは、ファイルをダウンロードすると「25mbの」と表示されるので、ブラウザは25mbが完全な量であると見なします...しかし、エコーされたときのコンテンツの長さは26252904ですか?