http://tkoshima.net/wp/archives/48
IEでだけ、ブラウザ経由のファイルダウンロードがうまくいきませんでした。
ネットで検索して、見つけたのが上記のリンク。
httpヘッダのキャッシュ設定を public にしないと正常にダウンロードできないとのこと。
下記ソースの※の部分を追加したら、IEでも正常に動作するようになりました。
(このソースは、Zend FrameWorkのActionコントローラ内に記述しています)
$fileName は、ダウンロードダイアログに出力するファイル名、
$path は、ダウンロード対象ファイルへのパスになります。
$fileNameは、ブラウザがIEの場合 SJIS に変換しないと日本語が文字化けします。
$this->getResponse()
->setHeader("Cache-Control", "public") ※
->setHeader("Pragma", "public") ※
->setHeader("Content-Type", "application/octet-stream; name=\"$fileName\"")
->setHeader("Content-Disposition", "attachment; filename=\"$fileName\"")
->setHeader("Content-Length", filesize($path))
->setBody(file_get_contents($path));