SSLでのファイルダウンロードエラー(IE + PHP)

SSL通信 かつ PHPを使ってCSV等をダウンロードする際 かつ PHPのsessionを使用中(ログイン状態など) かつ InternetExplorerの場合 ファイルを名前をつけてダウンロードさせようとすると「このインターネットのサイトを開くことができませんでした。要求されたサイトが使用できないか、見つけることができません。後でやり直してください。」と出る対処、要はIEのバグっぽい
その1

session_cache_limiter('public');

その2

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

以上どちらかをsessionを開始する前にいれておけばOKです。
ちなみにデフォルトはnocacheです。
PHPのダウンロードはこんな感じ

$filename = "test.csv";
header("Content-disposition: attachment; filename=$filename");
header("Content-Type: application/download");
print "testn";

参考>
Content-Disposition: attachemnt と Cache-Control: no-cache によるダウンロードの問題(Microsoft)
昔うまくいかなくてハマったのだけど、これで解決!、もうすこし詳しく調べようかと思ったけど、動いたからいいや(笑)

SSLでのファイルダウンロードエラー(IE + PHP)」への1件のフィードバック

  1. 同じところで、はまっていたので、大変参考になりました。
    ありがとうございます

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA