>>128
う〜ん、わからん(笑
恥をしのんで書きます。

$content_length = filesize("○○○○○"); //ファイルサイズを取得して変数に代入
header("Location: hoge2.php"); //ファイル送信済みメッセージを表示する別スクリプトにリダイレクト
header("Content-Disposition: attachment; filename=○○○○○"); //ブラウザにダウンロード対象のファイル名を教える
header ("Content-Transfer-Encoding: binary");//同、バイナリであることを教える
header("Content-Length: ".$content_length); //同、ファイルサイズを教える
header("Content-Type: application/octet-stream"); //同、ダウンロードダウンロードダイアログを開かせる。
readfile("○○○○○"); //ダウンロード対象ファイルを出力

問題はheader("Location: hoge2.php");だと思うのですが
素人考えで場所をreadfileの後にもってきてもダメでした。
とりあえず、リダイレクトは他のheaderを生かしたまま行えるのですね?

とりあえず、これらのコードのどれかについて
とんでもない根本的な思い違いをしていることは
みんなの反応で気づいたのだが…欝です。