【2021/10/15 追記】 この記事は更新が停止されています。現在ではブラウザの動作が変化している可能性もありますので,過去の記事として参考程度にご覧ください。 追記 今回参考にさせていただいた記事はこちら。 http://d.hatena.ne.jp/maachang/20110730/1312008966 この内容をもとにPHPで関数化してみました。 function download($input_filename, $output_filename = '') { static $pattern = '/Chrome|Firefox|(Opera)|(MSIE|IEMobile)|(Safari)/'; if (headers_sent() || ($size = @filesize($input_filename)) === false) { return false; }
問題はどんな言語で書いても起こることですが、たまたま仕事でPHPつかってたときにぶつかったのでメモしておきます。 結論 HTTPのレスポンスヘッダで Content-Disposition: attachment; filename*=UTF-8''URLエンコードされたファイル名を送ってあげる。 追記 2017/11/02: Edgeでも通用するようです。https://github.com/netcommons/NetCommons2/issues/126 ファイル名が化ける PHPでファイルアップローダをつくっていました。 動作確認はUbuntu 14.04のFirefox30をつかっていましたが、社内ではIE11がデフォ。「一応やっとくか」とIE11で動かしたら、日本語のファイル名が見事に化けました。 またお前か、IE!チキショー Slim Frameworkをつかっているので、こ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く