- ベストアンサー
ファイルダウンロードについて
ファイルをダウンロードするプログラムを組んでいるのですが、 ダウンロード時にポップアップされるダイアログのファイル名に 数字がくっついてきてしまいます。 例) 元ファイル名:test.txt ⇒ test[1].txt これはIEのキャッシュとの事らしいのですが、この数字を出さない方法は あるのでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
残念ながらこの現象を完全に排除する方法は有りませんが、 発生し難くする方法は有ります。 発生原因は、ブラウザのキャッシュに同名ファイルが存在するためです。 よって、同名ファイルをキャッシュさせなければ低減できます。 プログラムを組んでいるとのことなので、ダウンロードするファイルのヘッダに以下を加えるとか、 header("Expires: Thu, 01 Dec 1994 16:00:00 GMT"); header("Cache-Control: no-cache, must-revalidate"); header("Cache-Control: post-check=0, pre-check=0", false); header("Pragma: no-cache"); サーバーの設定が触れるのなら、以下の設定を入れる <Files ~ "\.(txt)$"> Header set Pragma no-cache Header set Cache-Control no-cache Header set Expires "Thu, 01 Dec 1994 16:00:00 GMT" </Files> 試す場合には、一旦ブラウザの一時ファイルを消去するか過去にダウンロードしていないファイル名にしてください。
その他の回答 (1)
- mpx
- ベストアンサー率71% (149/209)
>> Internet Explorer では、xxxxサーバー をダウンロードできません。 >> このインターネットのサイトを開くことができませんでした。・・・ >> となってしまうのですが、どうしてでしょうか? エラーログを確認してみましたか?
お礼
いまさらですが、ありがとうございました。 お礼をするのを忘れていました。。。
補足
PHPのエラーログには何も出ていないようです。 ちなみにファイル名にxxx.xx.xxのようにドットが2つ入っていると ファイル名の後ろに[数字]になるみたいです。 ドットを1つにしたら数字は付かなくなりました。
お礼
いまさらですが、ありがとうございました。 お礼をするのを忘れていました。。。
補足
ありがとうございます。 上記のプログラムを試してみたのですが、 header("Cache-Control: no-cache, must-revalidate"); この行を入れると、 Internet Explorer では、xxxxサーバー をダウンロードできません。 このインターネットのサイトを開くことができませんでした。・・・ となってしまうのですが、どうしてでしょうか?