ブラウザからのファイルダウンロード

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));
ブラウザからのファイルダウンロード