Passed
Push — master ( 21a6a4...4428d0 )
by xiaohui
03:17
created

MimeTypes   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 135
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 130
c 1
b 0
f 0
dl 0
loc 135
rs 10
wmc 2

1 Method

Rating   Name   Duplication   Size   Complexity  
A getMimetype() 0 4 2
1
<?php
2
namespace AliMedia\Utils;
3
4
class MimeTypes
5
{
6
    public static $mime_types = array(
7
        '3gp' => 'video/3gpp', 'ai' => 'application/postscript',
8
        'aif' => 'audio/x-aiff', 'aifc' => 'audio/x-aiff',
9
        'aiff' => 'audio/x-aiff', 'asc' => 'text/plain',
10
        'atom' => 'application/atom+xml', 'au' => 'audio/basic',
11
        'avi' => 'video/x-msvideo', 'bcpio' => 'application/x-bcpio',
12
        'bin' => 'application/octet-stream', 'bmp' => 'image/bmp',
13
        'cdf' => 'application/x-netcdf', 'cgm' => 'image/cgm',
14
        'class' => 'application/octet-stream',
15
        'cpio' => 'application/x-cpio',
16
        'cpt' => 'application/mac-compactpro',
17
        'csh' => 'application/x-csh', 'css' => 'text/css',
18
        'dcr' => 'application/x-director', 'dif' => 'video/x-dv',
19
        'dir' => 'application/x-director', 'djv' => 'image/vnd.djvu',
20
        'djvu' => 'image/vnd.djvu',
21
        'dll' => 'application/octet-stream',
22
        'dmg' => 'application/octet-stream',
23
        'dms' => 'application/octet-stream',
24
        'doc' => 'application/msword', 'dtd' => 'application/xml-dtd',
25
        'dv' => 'video/x-dv', 'dvi' => 'application/x-dvi',
26
        'dxr' => 'application/x-director',
27
        'eps' => 'application/postscript', 'etx' => 'text/x-setext',
28
        'exe' => 'application/octet-stream',
29
        'ez' => 'application/andrew-inset', 'flv' => 'video/x-flv',
30
        'gif' => 'image/gif', 'gram' => 'application/srgs',
31
        'grxml' => 'application/srgs+xml',
32
        'gtar' => 'application/x-gtar', 'gz' => 'application/x-gzip',
33
        'hdf' => 'application/x-hdf',
34
        'hqx' => 'application/mac-binhex40', 'htm' => 'text/html',
35
        'html' => 'text/html', 'ice' => 'x-conference/x-cooltalk',
36
        'ico' => 'image/x-icon', 'ics' => 'text/calendar',
37
        'ief' => 'image/ief', 'ifb' => 'text/calendar',
38
        'iges' => 'model/iges', 'igs' => 'model/iges',
39
        'jnlp' => 'application/x-java-jnlp-file', 'jp2' => 'image/jp2',
40
        'jpe' => 'image/jpeg', 'jpeg' => 'image/jpeg',
41
        'jpg' => 'image/jpeg', 'js' => 'application/x-javascript',
42
        'kar' => 'audio/midi', 'latex' => 'application/x-latex',
43
        'lha' => 'application/octet-stream',
44
        'lzh' => 'application/octet-stream',
45
        'm3u' => 'audio/x-mpegurl', 'm4a' => 'audio/mp4a-latm',
46
        'm4p' => 'audio/mp4a-latm', 'm4u' => 'video/vnd.mpegurl',
47
        'm4v' => 'video/x-m4v', 'mac' => 'image/x-macpaint',
48
        'man' => 'application/x-troff-man',
49
        'mathml' => 'application/mathml+xml',
50
        'me' => 'application/x-troff-me', 'mesh' => 'model/mesh',
51
        'mid' => 'audio/midi', 'midi' => 'audio/midi',
52
        'mif' => 'application/vnd.mif', 'mov' => 'video/quicktime',
53
        'movie' => 'video/x-sgi-movie', 'mp2' => 'audio/mpeg',
54
        'mp3' => 'audio/mpeg', 'mp4' => 'video/mp4',
55
        'mpe' => 'video/mpeg', 'mpeg' => 'video/mpeg',
56
        'mpg' => 'video/mpeg', 'mpga' => 'audio/mpeg',
57
        'ms' => 'application/x-troff-ms', 'msh' => 'model/mesh',
58
        'mxu' => 'video/vnd.mpegurl', 'nc' => 'application/x-netcdf',
59
        'oda' => 'application/oda', 'ogg' => 'application/ogg',
60
        'ogv' => 'video/ogv', 'pbm' => 'image/x-portable-bitmap',
61
        'pct' => 'image/pict', 'pdb' => 'chemical/x-pdb',
62
        'pdf' => 'application/pdf',
63
        'pgm' => 'image/x-portable-graymap',
64
        'pgn' => 'application/x-chess-pgn', 'pic' => 'image/pict',
65
        'pict' => 'image/pict', 'png' => 'image/png',
66
        'pnm' => 'image/x-portable-anymap',
67
        'pnt' => 'image/x-macpaint', 'pntg' => 'image/x-macpaint',
68
        'ppm' => 'image/x-portable-pixmap',
69
        'ppt' => 'application/vnd.ms-powerpoint',
70
        'ps' => 'application/postscript', 'qt' => 'video/quicktime',
71
        'qti' => 'image/x-quicktime', 'qtif' => 'image/x-quicktime',
72
        'ra' => 'audio/x-pn-realaudio',
73
        'ram' => 'audio/x-pn-realaudio', 'ras' => 'image/x-cmu-raster',
74
        'rdf' => 'application/rdf+xml', 'rgb' => 'image/x-rgb',
75
        'rm' => 'application/vnd.rn-realmedia',
76
        'roff' => 'application/x-troff', 'rtf' => 'text/rtf',
77
        'rtx' => 'text/richtext', 'sgm' => 'text/sgml',
78
        'sgml' => 'text/sgml', 'sh' => 'application/x-sh',
79
        'shar' => 'application/x-shar', 'silo' => 'model/mesh',
80
        'sit' => 'application/x-stuffit',
81
        'skd' => 'application/x-koan', 'skm' => 'application/x-koan',
82
        'skp' => 'application/x-koan', 'skt' => 'application/x-koan',
83
        'smi' => 'application/smil', 'smil' => 'application/smil',
84
        'snd' => 'audio/basic', 'so' => 'application/octet-stream',
85
        'spl' => 'application/x-futuresplash',
86
        'src' => 'application/x-wais-source',
87
        'sv4cpio' => 'application/x-sv4cpio',
88
        'sv4crc' => 'application/x-sv4crc', 'svg' => 'image/svg+xml',
89
        'swf' => 'application/x-shockwave-flash',
90
        't' => 'application/x-troff', 'tar' => 'application/x-tar',
91
        'tcl' => 'application/x-tcl', 'tex' => 'application/x-tex',
92
        'texi' => 'application/x-texinfo',
93
        'texinfo' => 'application/x-texinfo', 'tif' => 'image/tiff',
94
        'tiff' => 'image/tiff', 'tr' => 'application/x-troff',
95
        'tsv' => 'text/tab-separated-values', 'txt' => 'text/plain',
96
        'ustar' => 'application/x-ustar',
97
        'vcd' => 'application/x-cdlink', 'vrml' => 'model/vrml',
98
        'vxml' => 'application/voicexml+xml', 'wav' => 'audio/x-wav',
99
        'wbmp' => 'image/vnd.wap.wbmp',
100
        'wbxml' => 'application/vnd.wap.wbxml', 'webm' => 'video/webm',
101
        'wml' => 'text/vnd.wap.wml',
102
        'wmlc' => 'application/vnd.wap.wmlc',
103
        'wmls' => 'text/vnd.wap.wmlscript',
104
        'wmlsc' => 'application/vnd.wap.wmlscriptc',
105
        'wmv' => 'video/x-ms-wmv', 'wrl' => 'model/vrml',
106
        'xbm' => 'image/x-xbitmap', 'xht' => 'application/xhtml+xml',
107
        'xhtml' => 'application/xhtml+xml',
108
        'xls' => 'application/vnd.ms-excel',
109
        'xml' => 'application/xml', 'xpm' => 'image/x-xpixmap',
110
        'xsl' => 'application/xml', 'xslt' => 'application/xslt+xml',
111
        'xul' => 'application/vnd.mozilla.xul+xml',
112
        'xwd' => 'image/x-xwindowdump', 'xyz' => 'chemical/x-xyz',
113
        'zip' => 'application/zip',
114
        "apk" => "application/vnd.android.package-archive",
115
        "bin" => "application/octet-stream",
116
        "cab" => "application/vnd.ms-cab-compressed",
117
        "gb" => "application/chinese-gb",
118
        "gba" => "application/octet-stream",
119
        "gbc" => "application/octet-stream",
120
        "jad" => "text/vnd.sun.j2me.app-descriptor",
121
        "jar" => "application/java-archive",
122
        "nes" => "application/octet-stream",
123
        "rar" => "application/x-rar-compressed",
124
        "sis" => "application/vnd.symbian.install",
125
        "sisx" => "x-epoc/x-sisx-app",
126
        "smc" => "application/octet-stream",
127
        "smd" => "application/octet-stream",
128
        "swf" => "application/x-shockwave-flash",
129
        "zip" => "application/x-zip-compressed",
130
        "wap" => "text/vnd.wap.wml wml", "mrp" => "application/mrp",
131
        "wma" => "audio/x-ms-wma",
132
        "lrc" => "application/lrc"
133
    );
134
135
    public static function getMimetype($ext)
136
    {
137
        $ext = strtolower($ext);
138
        return (isset(self::$mime_types[$ext]) ? self::$mime_types[$ext] : 'application/octet-stream');
139
    }
140
}
141