↓のようにしてファイルをダウンロードさせています。
これをブラウザで「保存」を選ぶと正常に保存できるのですが、「開く」を選ぶとうまく開けません。
どうもアプリケーションが開こうとしたときにはテンポラリファイルがなくなっているようです。
「開く」を選んでも正常に動作させるにはどうすればいいでしょうか?

header('Content-Disposition: attachment; filename="'.$filename.'"');
header('Content-Type: application/octet-stream');
header('Content-Transfer-Encoding: binary');
header('Content-Length: '.$filesize);

$fp = fopen($filepath, "rb");
while (!feof($fp)) {
$contents = fread($fp, 1024*1024*5);
echo $contents;
}