Changeset 20937


Ignore:
Timestamp:
2011/05/18 11:54:23 (10 years ago)
Author:
eccuore
Message:

fixes 1311 ダウンロード機能:コンテントファイルの連想配列化

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/version-2_11-dev/data/class/pages/mypage/LC_Page_Mypage_DownLoad.php

    r20936 r20937  
    3737    /** フォームパラメータの配列 */ 
    3838    var $objFormParam; 
     39 
     40    /** 基本Content-Type */ 
     41    var $defaultContentType = 'Application/octet-stream'; 
     42 
     43    /** 拡張Content-Type配列 
     44     * Application/octet-streamで対応出来ないファイルタイプのみ拡張子をキーに記述する 
     45     * 拡張子が本配列に存在しない場合は $defaultContentTypeを利用する */ 
     46    var $arrContentType = array('apk' => 'application/vnd.android.package-archive'); 
    3947 
    4048    // }}} 
     
    124132        // SC_DisplayやSC_Responseに大容量ファイルレスポンスが実装されたら移行可能だと思います。 
    125133 
    126         // 拡張子を取得(Android対応 apkは変更や増加の可能性が低いと考えとりあえず固定) 
     134        // 拡張子を取得 
    127135        $extension = pathinfo($realpath, PATHINFO_EXTENSION); 
    128         //タイプ指定 
    129         if($extension=='apk'){ 
    130             // Androidの場合はコンテンツタイプを変更する必要がある 
    131             header("Content-Type: application/vnd.android.package-archive "); 
    132         }else{ 
    133             header("Content-Type: Application/octet-stream"); 
    134         } 
     136        $contentType = $this->defaultContentType; 
     137        // 拡張ContentType判定(拡張子をキーに拡張ContentType対象か判断) 
     138        if(isset($this->arrContentType[$extension])){ 
     139            // 拡張ContentType対象の場合は、ContentTypeを変更 
     140            $contentType = $this->arrContentType[$extension]; 
     141        } 
     142        header("Content-Type: ".$contentType); 
    135143        //ファイル名指定 
    136144        header('Content-Disposition: attachment; filename="' . $sdown_filename . '"'); 
Note: See TracChangeset for help on using the changeset viewer.