ホームページ >ウェブフロントエンド >jsチュートリアル >files_javascript スキルの強制ダウンロードに関する IE PHP コード
作成者: xling
まず、xls ファイルのダウンロードを確認します:
//header("Cache-Control: public");
header('content-type:application/vnd.ms) -excel' );
header("Content-Disposition:attachment; filename=report.xls");
最初の文を追加しないと、次のメッセージが表示されます: Internet Explorer はダウンロードできません * *.php (** Web サイトから)。 Internet Explorer ではインターネット Web サイトを開けません。要求された Web サイトが利用できないか、見つかりません。後でもう一度お試しください。
そして名前も、設定された名前であるreport.xlsではなく、**.phpという最初の文を追加するだけでOKです。
最初の一文を追加せずにrarやgifなどを見ていたところ、エラーボックスも出ずに通りました!
gif などの画像の場合、Content-Disposition:attachment; により保存ダイアログ ボックスが強制的に表示されます。省略またはインラインの場合は、Web ページに直接表示されます。
上記は私が愚かな方法で調べたものです(入手可能なドキュメントが見つからなかったので、一つずつ試してみました)。
Content-type が取る値は次のとおりです。
switch( $file_extension ) {
case "pdf": $ctype="application/pdf"; 🎜>case "exe": $ctype="application/octet-stream";
case "zip": $ctype="application/zip"; "アプリケーション/msword"; ブレーク
ケース "application/vnd.ms-excel";
ケース "ppt": $ctype="アプリケーション/vnd.ms-powerpoint "; ブレーク ;
ケース "gif": $ctype="image/gif"; ブレーク;
ケース "png": $ctype="image/png"; ブレーク;
ケース "jpeg":
ケース "jpg": $ctype="image/jpg";
ケース "mp3": $ctype="wav"; audio/x -wav"; ブレーク;
ケース "mpeg":
ケース "mpg":
ケース "mpe": $ctype="video/mpeg"; ブレーク;
ケース "mov ": $ ctype="video/quicktime"; Break;
case "avi": $ctype="video/x-msvideo"; Break;
//以下は拡張子です。ダウンロードできません (php ファイルなどの機密性の高いもの)
case "php":
case "htm":
case "html":
case "txt": die("
Cannot ". $file_extension ." ファイルに使用されます!
"); ブレーク;
デフォルト: $ctype="application/force-download"; }