5丁目通信(仮称)

とある5丁目で活動する還暦間近のWebプログラマーの覚え書きです。それとかかってくる迷惑電話や、家業のアパート経営について。

ExcelファイルをPHPで生成してHTTPSでダウンロードするときの注意の話し


ExcelファイルをPHPで生成するには、PEARのSpreadsheet_Excel_Writerを使うと簡単にできます。

生成したPHPファイルをダウンロードするには、

header("Content-Type: application/vnd.ms-excel");
header("Content-Disposition: attachment; filename=test.xls");

でヘッダを出力してから、Excelファイルの本体をシフトJISに変換してecho()なんかで出力すればいいのですが、httpsでSSLを使うとダウンロードできなくなります。ファイルの保存ダイアログも表示してきません。

いろいろ調べると、IEの問題らしい。やはり、先人の知恵がありました。

以下のように続けてヘッダを出力してあげれば解決です。

header("Cache-Control: public");
header("Pragma: public");
,

%d人のブロガーが「いいね」をつけました。