1
|
|
|
<?php |
2
|
|
|
/** |
3
|
|
|
* Copyright 2017 Facebook, Inc. |
4
|
|
|
* |
5
|
|
|
* You are hereby granted a non-exclusive, worldwide, royalty-free license to |
6
|
|
|
* use, copy, modify, and distribute this software in source code or binary |
7
|
|
|
* form for use in connection with the web services and APIs provided by |
8
|
|
|
* Facebook. |
9
|
|
|
* |
10
|
|
|
* As with any software that integrates with the Facebook platform, your use |
11
|
|
|
* of this software is subject to the Facebook Developer Principles and |
12
|
|
|
* Policies [http://developers.facebook.com/policy/]. This copyright notice |
13
|
|
|
* shall be included in all copies or substantial portions of the software. |
14
|
|
|
* |
15
|
|
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
16
|
|
|
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
17
|
|
|
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL |
18
|
|
|
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
19
|
|
|
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING |
20
|
|
|
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER |
21
|
|
|
* DEALINGS IN THE SOFTWARE. |
22
|
|
|
*/ |
23
|
|
|
namespace Facebook\FileUpload; |
24
|
|
|
|
25
|
|
|
/** |
26
|
|
|
* Provides mappings of file extensions to mimetypes. |
27
|
|
|
* |
28
|
|
|
* Taken from Guzzle |
29
|
|
|
* |
30
|
|
|
* @see https://github.com/guzzle/guzzle/blob/master/src/Mimetypes.php |
31
|
|
|
* @link http://svn.apache.org/repos/asf/httpd/httpd/branches/1.3.x/conf/mime.types |
32
|
|
|
*/ |
33
|
|
|
class Mimetypes |
34
|
|
|
{ |
35
|
|
|
/** @var self */ |
36
|
|
|
protected static $instance; |
37
|
|
|
|
38
|
|
|
/** @var array Mapping of extension to mimetype */ |
39
|
|
|
protected $mimetypes = [ |
40
|
|
|
'3dml' => 'text/vnd.in3d.3dml', |
41
|
|
|
'3g2' => 'video/3gpp2', |
42
|
|
|
'3gp' => 'video/3gpp', |
43
|
|
|
'7z' => 'application/x-7z-compressed', |
44
|
|
|
'aab' => 'application/x-authorware-bin', |
45
|
|
|
'aac' => 'audio/x-aac', |
46
|
|
|
'aam' => 'application/x-authorware-map', |
47
|
|
|
'aas' => 'application/x-authorware-seg', |
48
|
|
|
'abw' => 'application/x-abiword', |
49
|
|
|
'ac' => 'application/pkix-attr-cert', |
50
|
|
|
'acc' => 'application/vnd.americandynamics.acc', |
51
|
|
|
'ace' => 'application/x-ace-compressed', |
52
|
|
|
'acu' => 'application/vnd.acucobol', |
53
|
|
|
'acutc' => 'application/vnd.acucorp', |
54
|
|
|
'adp' => 'audio/adpcm', |
55
|
|
|
'aep' => 'application/vnd.audiograph', |
56
|
|
|
'afm' => 'application/x-font-type1', |
57
|
|
|
'afp' => 'application/vnd.ibm.modcap', |
58
|
|
|
'ahead' => 'application/vnd.ahead.space', |
59
|
|
|
'ai' => 'application/postscript', |
60
|
|
|
'aif' => 'audio/x-aiff', |
61
|
|
|
'aifc' => 'audio/x-aiff', |
62
|
|
|
'aiff' => 'audio/x-aiff', |
63
|
|
|
'air' => 'application/vnd.adobe.air-application-installer-package+zip', |
64
|
|
|
'ait' => 'application/vnd.dvb.ait', |
65
|
|
|
'ami' => 'application/vnd.amiga.ami', |
66
|
|
|
'apk' => 'application/vnd.android.package-archive', |
67
|
|
|
'application' => 'application/x-ms-application', |
68
|
|
|
'apr' => 'application/vnd.lotus-approach', |
69
|
|
|
'asa' => 'text/plain', |
70
|
|
|
'asax' => 'application/octet-stream', |
71
|
|
|
'asc' => 'application/pgp-signature', |
72
|
|
|
'ascx' => 'text/plain', |
73
|
|
|
'asf' => 'video/x-ms-asf', |
74
|
|
|
'ashx' => 'text/plain', |
75
|
|
|
'asm' => 'text/x-asm', |
76
|
|
|
'asmx' => 'text/plain', |
77
|
|
|
'aso' => 'application/vnd.accpac.simply.aso', |
78
|
|
|
'asp' => 'text/plain', |
79
|
|
|
'aspx' => 'text/plain', |
80
|
|
|
'asx' => 'video/x-ms-asf', |
81
|
|
|
'atc' => 'application/vnd.acucorp', |
82
|
|
|
'atom' => 'application/atom+xml', |
83
|
|
|
'atomcat' => 'application/atomcat+xml', |
84
|
|
|
'atomsvc' => 'application/atomsvc+xml', |
85
|
|
|
'atx' => 'application/vnd.antix.game-component', |
86
|
|
|
'au' => 'audio/basic', |
87
|
|
|
'avi' => 'video/x-msvideo', |
88
|
|
|
'aw' => 'application/applixware', |
89
|
|
|
'axd' => 'text/plain', |
90
|
|
|
'azf' => 'application/vnd.airzip.filesecure.azf', |
91
|
|
|
'azs' => 'application/vnd.airzip.filesecure.azs', |
92
|
|
|
'azw' => 'application/vnd.amazon.ebook', |
93
|
|
|
'bat' => 'application/x-msdownload', |
94
|
|
|
'bcpio' => 'application/x-bcpio', |
95
|
|
|
'bdf' => 'application/x-font-bdf', |
96
|
|
|
'bdm' => 'application/vnd.syncml.dm+wbxml', |
97
|
|
|
'bed' => 'application/vnd.realvnc.bed', |
98
|
|
|
'bh2' => 'application/vnd.fujitsu.oasysprs', |
99
|
|
|
'bin' => 'application/octet-stream', |
100
|
|
|
'bmi' => 'application/vnd.bmi', |
101
|
|
|
'bmp' => 'image/bmp', |
102
|
|
|
'book' => 'application/vnd.framemaker', |
103
|
|
|
'box' => 'application/vnd.previewsystems.box', |
104
|
|
|
'boz' => 'application/x-bzip2', |
105
|
|
|
'bpk' => 'application/octet-stream', |
106
|
|
|
'btif' => 'image/prs.btif', |
107
|
|
|
'bz' => 'application/x-bzip', |
108
|
|
|
'bz2' => 'application/x-bzip2', |
109
|
|
|
'c' => 'text/x-c', |
110
|
|
|
'c11amc' => 'application/vnd.cluetrust.cartomobile-config', |
111
|
|
|
'c11amz' => 'application/vnd.cluetrust.cartomobile-config-pkg', |
112
|
|
|
'c4d' => 'application/vnd.clonk.c4group', |
113
|
|
|
'c4f' => 'application/vnd.clonk.c4group', |
114
|
|
|
'c4g' => 'application/vnd.clonk.c4group', |
115
|
|
|
'c4p' => 'application/vnd.clonk.c4group', |
116
|
|
|
'c4u' => 'application/vnd.clonk.c4group', |
117
|
|
|
'cab' => 'application/vnd.ms-cab-compressed', |
118
|
|
|
'car' => 'application/vnd.curl.car', |
119
|
|
|
'cat' => 'application/vnd.ms-pki.seccat', |
120
|
|
|
'cc' => 'text/x-c', |
121
|
|
|
'cct' => 'application/x-director', |
122
|
|
|
'ccxml' => 'application/ccxml+xml', |
123
|
|
|
'cdbcmsg' => 'application/vnd.contact.cmsg', |
124
|
|
|
'cdf' => 'application/x-netcdf', |
125
|
|
|
'cdkey' => 'application/vnd.mediastation.cdkey', |
126
|
|
|
'cdmia' => 'application/cdmi-capability', |
127
|
|
|
'cdmic' => 'application/cdmi-container', |
128
|
|
|
'cdmid' => 'application/cdmi-domain', |
129
|
|
|
'cdmio' => 'application/cdmi-object', |
130
|
|
|
'cdmiq' => 'application/cdmi-queue', |
131
|
|
|
'cdx' => 'chemical/x-cdx', |
132
|
|
|
'cdxml' => 'application/vnd.chemdraw+xml', |
133
|
|
|
'cdy' => 'application/vnd.cinderella', |
134
|
|
|
'cer' => 'application/pkix-cert', |
135
|
|
|
'cfc' => 'application/x-coldfusion', |
136
|
|
|
'cfm' => 'application/x-coldfusion', |
137
|
|
|
'cgm' => 'image/cgm', |
138
|
|
|
'chat' => 'application/x-chat', |
139
|
|
|
'chm' => 'application/vnd.ms-htmlhelp', |
140
|
|
|
'chrt' => 'application/vnd.kde.kchart', |
141
|
|
|
'cif' => 'chemical/x-cif', |
142
|
|
|
'cii' => 'application/vnd.anser-web-certificate-issue-initiation', |
143
|
|
|
'cil' => 'application/vnd.ms-artgalry', |
144
|
|
|
'cla' => 'application/vnd.claymore', |
145
|
|
|
'class' => 'application/java-vm', |
146
|
|
|
'clkk' => 'application/vnd.crick.clicker.keyboard', |
147
|
|
|
'clkp' => 'application/vnd.crick.clicker.palette', |
148
|
|
|
'clkt' => 'application/vnd.crick.clicker.template', |
149
|
|
|
'clkw' => 'application/vnd.crick.clicker.wordbank', |
150
|
|
|
'clkx' => 'application/vnd.crick.clicker', |
151
|
|
|
'clp' => 'application/x-msclip', |
152
|
|
|
'cmc' => 'application/vnd.cosmocaller', |
153
|
|
|
'cmdf' => 'chemical/x-cmdf', |
154
|
|
|
'cml' => 'chemical/x-cml', |
155
|
|
|
'cmp' => 'application/vnd.yellowriver-custom-menu', |
156
|
|
|
'cmx' => 'image/x-cmx', |
157
|
|
|
'cod' => 'application/vnd.rim.cod', |
158
|
|
|
'com' => 'application/x-msdownload', |
159
|
|
|
'conf' => 'text/plain', |
160
|
|
|
'cpio' => 'application/x-cpio', |
161
|
|
|
'cpp' => 'text/x-c', |
162
|
|
|
'cpt' => 'application/mac-compactpro', |
163
|
|
|
'crd' => 'application/x-mscardfile', |
164
|
|
|
'crl' => 'application/pkix-crl', |
165
|
|
|
'crt' => 'application/x-x509-ca-cert', |
166
|
|
|
'cryptonote' => 'application/vnd.rig.cryptonote', |
167
|
|
|
'cs' => 'text/plain', |
168
|
|
|
'csh' => 'application/x-csh', |
169
|
|
|
'csml' => 'chemical/x-csml', |
170
|
|
|
'csp' => 'application/vnd.commonspace', |
171
|
|
|
'css' => 'text/css', |
172
|
|
|
'cst' => 'application/x-director', |
173
|
|
|
'csv' => 'text/csv', |
174
|
|
|
'cu' => 'application/cu-seeme', |
175
|
|
|
'curl' => 'text/vnd.curl', |
176
|
|
|
'cww' => 'application/prs.cww', |
177
|
|
|
'cxt' => 'application/x-director', |
178
|
|
|
'cxx' => 'text/x-c', |
179
|
|
|
'dae' => 'model/vnd.collada+xml', |
180
|
|
|
'daf' => 'application/vnd.mobius.daf', |
181
|
|
|
'dataless' => 'application/vnd.fdsn.seed', |
182
|
|
|
'davmount' => 'application/davmount+xml', |
183
|
|
|
'dcr' => 'application/x-director', |
184
|
|
|
'dcurl' => 'text/vnd.curl.dcurl', |
185
|
|
|
'dd2' => 'application/vnd.oma.dd2+xml', |
186
|
|
|
'ddd' => 'application/vnd.fujixerox.ddd', |
187
|
|
|
'deb' => 'application/x-debian-package', |
188
|
|
|
'def' => 'text/plain', |
189
|
|
|
'deploy' => 'application/octet-stream', |
190
|
|
|
'der' => 'application/x-x509-ca-cert', |
191
|
|
|
'dfac' => 'application/vnd.dreamfactory', |
192
|
|
|
'dic' => 'text/x-c', |
193
|
|
|
'dir' => 'application/x-director', |
194
|
|
|
'dis' => 'application/vnd.mobius.dis', |
195
|
|
|
'dist' => 'application/octet-stream', |
196
|
|
|
'distz' => 'application/octet-stream', |
197
|
|
|
'djv' => 'image/vnd.djvu', |
198
|
|
|
'djvu' => 'image/vnd.djvu', |
199
|
|
|
'dll' => 'application/x-msdownload', |
200
|
|
|
'dmg' => 'application/octet-stream', |
201
|
|
|
'dms' => 'application/octet-stream', |
202
|
|
|
'dna' => 'application/vnd.dna', |
203
|
|
|
'doc' => 'application/msword', |
204
|
|
|
'docm' => 'application/vnd.ms-word.document.macroenabled.12', |
205
|
|
|
'docx' => 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', |
206
|
|
|
'dot' => 'application/msword', |
207
|
|
|
'dotm' => 'application/vnd.ms-word.template.macroenabled.12', |
208
|
|
|
'dotx' => 'application/vnd.openxmlformats-officedocument.wordprocessingml.template', |
209
|
|
|
'dp' => 'application/vnd.osgi.dp', |
210
|
|
|
'dpg' => 'application/vnd.dpgraph', |
211
|
|
|
'dra' => 'audio/vnd.dra', |
212
|
|
|
'dsc' => 'text/prs.lines.tag', |
213
|
|
|
'dssc' => 'application/dssc+der', |
214
|
|
|
'dtb' => 'application/x-dtbook+xml', |
215
|
|
|
'dtd' => 'application/xml-dtd', |
216
|
|
|
'dts' => 'audio/vnd.dts', |
217
|
|
|
'dtshd' => 'audio/vnd.dts.hd', |
218
|
|
|
'dump' => 'application/octet-stream', |
219
|
|
|
'dvi' => 'application/x-dvi', |
220
|
|
|
'dwf' => 'model/vnd.dwf', |
221
|
|
|
'dwg' => 'image/vnd.dwg', |
222
|
|
|
'dxf' => 'image/vnd.dxf', |
223
|
|
|
'dxp' => 'application/vnd.spotfire.dxp', |
224
|
|
|
'dxr' => 'application/x-director', |
225
|
|
|
'ecelp4800' => 'audio/vnd.nuera.ecelp4800', |
226
|
|
|
'ecelp7470' => 'audio/vnd.nuera.ecelp7470', |
227
|
|
|
'ecelp9600' => 'audio/vnd.nuera.ecelp9600', |
228
|
|
|
'ecma' => 'application/ecmascript', |
229
|
|
|
'edm' => 'application/vnd.novadigm.edm', |
230
|
|
|
'edx' => 'application/vnd.novadigm.edx', |
231
|
|
|
'efif' => 'application/vnd.picsel', |
232
|
|
|
'ei6' => 'application/vnd.pg.osasli', |
233
|
|
|
'elc' => 'application/octet-stream', |
234
|
|
|
'eml' => 'message/rfc822', |
235
|
|
|
'emma' => 'application/emma+xml', |
236
|
|
|
'eol' => 'audio/vnd.digital-winds', |
237
|
|
|
'eot' => 'application/vnd.ms-fontobject', |
238
|
|
|
'eps' => 'application/postscript', |
239
|
|
|
'epub' => 'application/epub+zip', |
240
|
|
|
'es3' => 'application/vnd.eszigno3+xml', |
241
|
|
|
'esf' => 'application/vnd.epson.esf', |
242
|
|
|
'et3' => 'application/vnd.eszigno3+xml', |
243
|
|
|
'etx' => 'text/x-setext', |
244
|
|
|
'exe' => 'application/x-msdownload', |
245
|
|
|
'exi' => 'application/exi', |
246
|
|
|
'ext' => 'application/vnd.novadigm.ext', |
247
|
|
|
'ez' => 'application/andrew-inset', |
248
|
|
|
'ez2' => 'application/vnd.ezpix-album', |
249
|
|
|
'ez3' => 'application/vnd.ezpix-package', |
250
|
|
|
'f' => 'text/x-fortran', |
251
|
|
|
'f4v' => 'video/x-f4v', |
252
|
|
|
'f77' => 'text/x-fortran', |
253
|
|
|
'f90' => 'text/x-fortran', |
254
|
|
|
'fbs' => 'image/vnd.fastbidsheet', |
255
|
|
|
'fcs' => 'application/vnd.isac.fcs', |
256
|
|
|
'fdf' => 'application/vnd.fdf', |
257
|
|
|
'fe_launch' => 'application/vnd.denovo.fcselayout-link', |
258
|
|
|
'fg5' => 'application/vnd.fujitsu.oasysgp', |
259
|
|
|
'fgd' => 'application/x-director', |
260
|
|
|
'fh' => 'image/x-freehand', |
261
|
|
|
'fh4' => 'image/x-freehand', |
262
|
|
|
'fh5' => 'image/x-freehand', |
263
|
|
|
'fh7' => 'image/x-freehand', |
264
|
|
|
'fhc' => 'image/x-freehand', |
265
|
|
|
'fig' => 'application/x-xfig', |
266
|
|
|
'fli' => 'video/x-fli', |
267
|
|
|
'flo' => 'application/vnd.micrografx.flo', |
268
|
|
|
'flv' => 'video/x-flv', |
269
|
|
|
'flw' => 'application/vnd.kde.kivio', |
270
|
|
|
'flx' => 'text/vnd.fmi.flexstor', |
271
|
|
|
'fly' => 'text/vnd.fly', |
272
|
|
|
'fm' => 'application/vnd.framemaker', |
273
|
|
|
'fnc' => 'application/vnd.frogans.fnc', |
274
|
|
|
'for' => 'text/x-fortran', |
275
|
|
|
'fpx' => 'image/vnd.fpx', |
276
|
|
|
'frame' => 'application/vnd.framemaker', |
277
|
|
|
'fsc' => 'application/vnd.fsc.weblaunch', |
278
|
|
|
'fst' => 'image/vnd.fst', |
279
|
|
|
'ftc' => 'application/vnd.fluxtime.clip', |
280
|
|
|
'fti' => 'application/vnd.anser-web-funds-transfer-initiation', |
281
|
|
|
'fvt' => 'video/vnd.fvt', |
282
|
|
|
'fxp' => 'application/vnd.adobe.fxp', |
283
|
|
|
'fxpl' => 'application/vnd.adobe.fxp', |
284
|
|
|
'fzs' => 'application/vnd.fuzzysheet', |
285
|
|
|
'g2w' => 'application/vnd.geoplan', |
286
|
|
|
'g3' => 'image/g3fax', |
287
|
|
|
'g3w' => 'application/vnd.geospace', |
288
|
|
|
'gac' => 'application/vnd.groove-account', |
289
|
|
|
'gdl' => 'model/vnd.gdl', |
290
|
|
|
'geo' => 'application/vnd.dynageo', |
291
|
|
|
'gex' => 'application/vnd.geometry-explorer', |
292
|
|
|
'ggb' => 'application/vnd.geogebra.file', |
293
|
|
|
'ggt' => 'application/vnd.geogebra.tool', |
294
|
|
|
'ghf' => 'application/vnd.groove-help', |
295
|
|
|
'gif' => 'image/gif', |
296
|
|
|
'gim' => 'application/vnd.groove-identity-message', |
297
|
|
|
'gmx' => 'application/vnd.gmx', |
298
|
|
|
'gnumeric' => 'application/x-gnumeric', |
299
|
|
|
'gph' => 'application/vnd.flographit', |
300
|
|
|
'gqf' => 'application/vnd.grafeq', |
301
|
|
|
'gqs' => 'application/vnd.grafeq', |
302
|
|
|
'gram' => 'application/srgs', |
303
|
|
|
'gre' => 'application/vnd.geometry-explorer', |
304
|
|
|
'grv' => 'application/vnd.groove-injector', |
305
|
|
|
'grxml' => 'application/srgs+xml', |
306
|
|
|
'gsf' => 'application/x-font-ghostscript', |
307
|
|
|
'gtar' => 'application/x-gtar', |
308
|
|
|
'gtm' => 'application/vnd.groove-tool-message', |
309
|
|
|
'gtw' => 'model/vnd.gtw', |
310
|
|
|
'gv' => 'text/vnd.graphviz', |
311
|
|
|
'gxt' => 'application/vnd.geonext', |
312
|
|
|
'h' => 'text/x-c', |
313
|
|
|
'h261' => 'video/h261', |
314
|
|
|
'h263' => 'video/h263', |
315
|
|
|
'h264' => 'video/h264', |
316
|
|
|
'hal' => 'application/vnd.hal+xml', |
317
|
|
|
'hbci' => 'application/vnd.hbci', |
318
|
|
|
'hdf' => 'application/x-hdf', |
319
|
|
|
'hh' => 'text/x-c', |
320
|
|
|
'hlp' => 'application/winhlp', |
321
|
|
|
'hpgl' => 'application/vnd.hp-hpgl', |
322
|
|
|
'hpid' => 'application/vnd.hp-hpid', |
323
|
|
|
'hps' => 'application/vnd.hp-hps', |
324
|
|
|
'hqx' => 'application/mac-binhex40', |
325
|
|
|
'hta' => 'application/octet-stream', |
326
|
|
|
'htc' => 'text/html', |
327
|
|
|
'htke' => 'application/vnd.kenameaapp', |
328
|
|
|
'htm' => 'text/html', |
329
|
|
|
'html' => 'text/html', |
330
|
|
|
'hvd' => 'application/vnd.yamaha.hv-dic', |
331
|
|
|
'hvp' => 'application/vnd.yamaha.hv-voice', |
332
|
|
|
'hvs' => 'application/vnd.yamaha.hv-script', |
333
|
|
|
'i2g' => 'application/vnd.intergeo', |
334
|
|
|
'icc' => 'application/vnd.iccprofile', |
335
|
|
|
'ice' => 'x-conference/x-cooltalk', |
336
|
|
|
'icm' => 'application/vnd.iccprofile', |
337
|
|
|
'ico' => 'image/x-icon', |
338
|
|
|
'ics' => 'text/calendar', |
339
|
|
|
'ief' => 'image/ief', |
340
|
|
|
'ifb' => 'text/calendar', |
341
|
|
|
'ifm' => 'application/vnd.shana.informed.formdata', |
342
|
|
|
'iges' => 'model/iges', |
343
|
|
|
'igl' => 'application/vnd.igloader', |
344
|
|
|
'igm' => 'application/vnd.insors.igm', |
345
|
|
|
'igs' => 'model/iges', |
346
|
|
|
'igx' => 'application/vnd.micrografx.igx', |
347
|
|
|
'iif' => 'application/vnd.shana.informed.interchange', |
348
|
|
|
'imp' => 'application/vnd.accpac.simply.imp', |
349
|
|
|
'ims' => 'application/vnd.ms-ims', |
350
|
|
|
'in' => 'text/plain', |
351
|
|
|
'ini' => 'text/plain', |
352
|
|
|
'ipfix' => 'application/ipfix', |
353
|
|
|
'ipk' => 'application/vnd.shana.informed.package', |
354
|
|
|
'irm' => 'application/vnd.ibm.rights-management', |
355
|
|
|
'irp' => 'application/vnd.irepository.package+xml', |
356
|
|
|
'iso' => 'application/octet-stream', |
357
|
|
|
'itp' => 'application/vnd.shana.informed.formtemplate', |
358
|
|
|
'ivp' => 'application/vnd.immervision-ivp', |
359
|
|
|
'ivu' => 'application/vnd.immervision-ivu', |
360
|
|
|
'jad' => 'text/vnd.sun.j2me.app-descriptor', |
361
|
|
|
'jam' => 'application/vnd.jam', |
362
|
|
|
'jar' => 'application/java-archive', |
363
|
|
|
'java' => 'text/x-java-source', |
364
|
|
|
'jisp' => 'application/vnd.jisp', |
365
|
|
|
'jlt' => 'application/vnd.hp-jlyt', |
366
|
|
|
'jnlp' => 'application/x-java-jnlp-file', |
367
|
|
|
'joda' => 'application/vnd.joost.joda-archive', |
368
|
|
|
'jpe' => 'image/jpeg', |
369
|
|
|
'jpeg' => 'image/jpeg', |
370
|
|
|
'jpg' => 'image/jpeg', |
371
|
|
|
'jpgm' => 'video/jpm', |
372
|
|
|
'jpgv' => 'video/jpeg', |
373
|
|
|
'jpm' => 'video/jpm', |
374
|
|
|
'js' => 'text/javascript', |
375
|
|
|
'json' => 'application/json', |
376
|
|
|
'kar' => 'audio/midi', |
377
|
|
|
'karbon' => 'application/vnd.kde.karbon', |
378
|
|
|
'kfo' => 'application/vnd.kde.kformula', |
379
|
|
|
'kia' => 'application/vnd.kidspiration', |
380
|
|
|
'kml' => 'application/vnd.google-earth.kml+xml', |
381
|
|
|
'kmz' => 'application/vnd.google-earth.kmz', |
382
|
|
|
'kne' => 'application/vnd.kinar', |
383
|
|
|
'knp' => 'application/vnd.kinar', |
384
|
|
|
'kon' => 'application/vnd.kde.kontour', |
385
|
|
|
'kpr' => 'application/vnd.kde.kpresenter', |
386
|
|
|
'kpt' => 'application/vnd.kde.kpresenter', |
387
|
|
|
'ksp' => 'application/vnd.kde.kspread', |
388
|
|
|
'ktr' => 'application/vnd.kahootz', |
389
|
|
|
'ktx' => 'image/ktx', |
390
|
|
|
'ktz' => 'application/vnd.kahootz', |
391
|
|
|
'kwd' => 'application/vnd.kde.kword', |
392
|
|
|
'kwt' => 'application/vnd.kde.kword', |
393
|
|
|
'lasxml' => 'application/vnd.las.las+xml', |
394
|
|
|
'latex' => 'application/x-latex', |
395
|
|
|
'lbd' => 'application/vnd.llamagraphics.life-balance.desktop', |
396
|
|
|
'lbe' => 'application/vnd.llamagraphics.life-balance.exchange+xml', |
397
|
|
|
'les' => 'application/vnd.hhe.lesson-player', |
398
|
|
|
'lha' => 'application/octet-stream', |
399
|
|
|
'link66' => 'application/vnd.route66.link66+xml', |
400
|
|
|
'list' => 'text/plain', |
401
|
|
|
'list3820' => 'application/vnd.ibm.modcap', |
402
|
|
|
'listafp' => 'application/vnd.ibm.modcap', |
403
|
|
|
'log' => 'text/plain', |
404
|
|
|
'lostxml' => 'application/lost+xml', |
405
|
|
|
'lrf' => 'application/octet-stream', |
406
|
|
|
'lrm' => 'application/vnd.ms-lrm', |
407
|
|
|
'ltf' => 'application/vnd.frogans.ltf', |
408
|
|
|
'lvp' => 'audio/vnd.lucent.voice', |
409
|
|
|
'lwp' => 'application/vnd.lotus-wordpro', |
410
|
|
|
'lzh' => 'application/octet-stream', |
411
|
|
|
'm13' => 'application/x-msmediaview', |
412
|
|
|
'm14' => 'application/x-msmediaview', |
413
|
|
|
'm1v' => 'video/mpeg', |
414
|
|
|
'm21' => 'application/mp21', |
415
|
|
|
'm2a' => 'audio/mpeg', |
416
|
|
|
'm2v' => 'video/mpeg', |
417
|
|
|
'm3a' => 'audio/mpeg', |
418
|
|
|
'm3u' => 'audio/x-mpegurl', |
419
|
|
|
'm3u8' => 'application/vnd.apple.mpegurl', |
420
|
|
|
'm4a' => 'audio/mp4', |
421
|
|
|
'm4u' => 'video/vnd.mpegurl', |
422
|
|
|
'm4v' => 'video/mp4', |
423
|
|
|
'ma' => 'application/mathematica', |
424
|
|
|
'mads' => 'application/mads+xml', |
425
|
|
|
'mag' => 'application/vnd.ecowin.chart', |
426
|
|
|
'maker' => 'application/vnd.framemaker', |
427
|
|
|
'man' => 'text/troff', |
428
|
|
|
'mathml' => 'application/mathml+xml', |
429
|
|
|
'mb' => 'application/mathematica', |
430
|
|
|
'mbk' => 'application/vnd.mobius.mbk', |
431
|
|
|
'mbox' => 'application/mbox', |
432
|
|
|
'mc1' => 'application/vnd.medcalcdata', |
433
|
|
|
'mcd' => 'application/vnd.mcd', |
434
|
|
|
'mcurl' => 'text/vnd.curl.mcurl', |
435
|
|
|
'mdb' => 'application/x-msaccess', |
436
|
|
|
'mdi' => 'image/vnd.ms-modi', |
437
|
|
|
'me' => 'text/troff', |
438
|
|
|
'mesh' => 'model/mesh', |
439
|
|
|
'meta4' => 'application/metalink4+xml', |
440
|
|
|
'mets' => 'application/mets+xml', |
441
|
|
|
'mfm' => 'application/vnd.mfmp', |
442
|
|
|
'mgp' => 'application/vnd.osgeo.mapguide.package', |
443
|
|
|
'mgz' => 'application/vnd.proteus.magazine', |
444
|
|
|
'mid' => 'audio/midi', |
445
|
|
|
'midi' => 'audio/midi', |
446
|
|
|
'mif' => 'application/vnd.mif', |
447
|
|
|
'mime' => 'message/rfc822', |
448
|
|
|
'mj2' => 'video/mj2', |
449
|
|
|
'mjp2' => 'video/mj2', |
450
|
|
|
'mlp' => 'application/vnd.dolby.mlp', |
451
|
|
|
'mmd' => 'application/vnd.chipnuts.karaoke-mmd', |
452
|
|
|
'mmf' => 'application/vnd.smaf', |
453
|
|
|
'mmr' => 'image/vnd.fujixerox.edmics-mmr', |
454
|
|
|
'mny' => 'application/x-msmoney', |
455
|
|
|
'mobi' => 'application/x-mobipocket-ebook', |
456
|
|
|
'mods' => 'application/mods+xml', |
457
|
|
|
'mov' => 'video/quicktime', |
458
|
|
|
'movie' => 'video/x-sgi-movie', |
459
|
|
|
'mp2' => 'audio/mpeg', |
460
|
|
|
'mp21' => 'application/mp21', |
461
|
|
|
'mp2a' => 'audio/mpeg', |
462
|
|
|
'mp3' => 'audio/mpeg', |
463
|
|
|
'mp4' => 'video/mp4', |
464
|
|
|
'mp4a' => 'audio/mp4', |
465
|
|
|
'mp4s' => 'application/mp4', |
466
|
|
|
'mp4v' => 'video/mp4', |
467
|
|
|
'mpc' => 'application/vnd.mophun.certificate', |
468
|
|
|
'mpe' => 'video/mpeg', |
469
|
|
|
'mpeg' => 'video/mpeg', |
470
|
|
|
'mpg' => 'video/mpeg', |
471
|
|
|
'mpg4' => 'video/mp4', |
472
|
|
|
'mpga' => 'audio/mpeg', |
473
|
|
|
'mpkg' => 'application/vnd.apple.installer+xml', |
474
|
|
|
'mpm' => 'application/vnd.blueice.multipass', |
475
|
|
|
'mpn' => 'application/vnd.mophun.application', |
476
|
|
|
'mpp' => 'application/vnd.ms-project', |
477
|
|
|
'mpt' => 'application/vnd.ms-project', |
478
|
|
|
'mpy' => 'application/vnd.ibm.minipay', |
479
|
|
|
'mqy' => 'application/vnd.mobius.mqy', |
480
|
|
|
'mrc' => 'application/marc', |
481
|
|
|
'mrcx' => 'application/marcxml+xml', |
482
|
|
|
'ms' => 'text/troff', |
483
|
|
|
'mscml' => 'application/mediaservercontrol+xml', |
484
|
|
|
'mseed' => 'application/vnd.fdsn.mseed', |
485
|
|
|
'mseq' => 'application/vnd.mseq', |
486
|
|
|
'msf' => 'application/vnd.epson.msf', |
487
|
|
|
'msh' => 'model/mesh', |
488
|
|
|
'msi' => 'application/x-msdownload', |
489
|
|
|
'msl' => 'application/vnd.mobius.msl', |
490
|
|
|
'msty' => 'application/vnd.muvee.style', |
491
|
|
|
'mts' => 'model/vnd.mts', |
492
|
|
|
'mus' => 'application/vnd.musician', |
493
|
|
|
'musicxml' => 'application/vnd.recordare.musicxml+xml', |
494
|
|
|
'mvb' => 'application/x-msmediaview', |
495
|
|
|
'mwf' => 'application/vnd.mfer', |
496
|
|
|
'mxf' => 'application/mxf', |
497
|
|
|
'mxl' => 'application/vnd.recordare.musicxml', |
498
|
|
|
'mxml' => 'application/xv+xml', |
499
|
|
|
'mxs' => 'application/vnd.triscape.mxs', |
500
|
|
|
'mxu' => 'video/vnd.mpegurl', |
501
|
|
|
'n-gage' => 'application/vnd.nokia.n-gage.symbian.install', |
502
|
|
|
'n3' => 'text/n3', |
503
|
|
|
'nb' => 'application/mathematica', |
504
|
|
|
'nbp' => 'application/vnd.wolfram.player', |
505
|
|
|
'nc' => 'application/x-netcdf', |
506
|
|
|
'ncx' => 'application/x-dtbncx+xml', |
507
|
|
|
'ngdat' => 'application/vnd.nokia.n-gage.data', |
508
|
|
|
'nlu' => 'application/vnd.neurolanguage.nlu', |
509
|
|
|
'nml' => 'application/vnd.enliven', |
510
|
|
|
'nnd' => 'application/vnd.noblenet-directory', |
511
|
|
|
'nns' => 'application/vnd.noblenet-sealer', |
512
|
|
|
'nnw' => 'application/vnd.noblenet-web', |
513
|
|
|
'npx' => 'image/vnd.net-fpx', |
514
|
|
|
'nsf' => 'application/vnd.lotus-notes', |
515
|
|
|
'oa2' => 'application/vnd.fujitsu.oasys2', |
516
|
|
|
'oa3' => 'application/vnd.fujitsu.oasys3', |
517
|
|
|
'oas' => 'application/vnd.fujitsu.oasys', |
518
|
|
|
'obd' => 'application/x-msbinder', |
519
|
|
|
'oda' => 'application/oda', |
520
|
|
|
'odb' => 'application/vnd.oasis.opendocument.database', |
521
|
|
|
'odc' => 'application/vnd.oasis.opendocument.chart', |
522
|
|
|
'odf' => 'application/vnd.oasis.opendocument.formula', |
523
|
|
|
'odft' => 'application/vnd.oasis.opendocument.formula-template', |
524
|
|
|
'odg' => 'application/vnd.oasis.opendocument.graphics', |
525
|
|
|
'odi' => 'application/vnd.oasis.opendocument.image', |
526
|
|
|
'odm' => 'application/vnd.oasis.opendocument.text-master', |
527
|
|
|
'odp' => 'application/vnd.oasis.opendocument.presentation', |
528
|
|
|
'ods' => 'application/vnd.oasis.opendocument.spreadsheet', |
529
|
|
|
'odt' => 'application/vnd.oasis.opendocument.text', |
530
|
|
|
'oga' => 'audio/ogg', |
531
|
|
|
'ogg' => 'audio/ogg', |
532
|
|
|
'ogv' => 'video/ogg', |
533
|
|
|
'ogx' => 'application/ogg', |
534
|
|
|
'onepkg' => 'application/onenote', |
535
|
|
|
'onetmp' => 'application/onenote', |
536
|
|
|
'onetoc' => 'application/onenote', |
537
|
|
|
'onetoc2' => 'application/onenote', |
538
|
|
|
'opf' => 'application/oebps-package+xml', |
539
|
|
|
'oprc' => 'application/vnd.palm', |
540
|
|
|
'org' => 'application/vnd.lotus-organizer', |
541
|
|
|
'osf' => 'application/vnd.yamaha.openscoreformat', |
542
|
|
|
'osfpvg' => 'application/vnd.yamaha.openscoreformat.osfpvg+xml', |
543
|
|
|
'otc' => 'application/vnd.oasis.opendocument.chart-template', |
544
|
|
|
'otf' => 'application/x-font-otf', |
545
|
|
|
'otg' => 'application/vnd.oasis.opendocument.graphics-template', |
546
|
|
|
'oth' => 'application/vnd.oasis.opendocument.text-web', |
547
|
|
|
'oti' => 'application/vnd.oasis.opendocument.image-template', |
548
|
|
|
'otp' => 'application/vnd.oasis.opendocument.presentation-template', |
549
|
|
|
'ots' => 'application/vnd.oasis.opendocument.spreadsheet-template', |
550
|
|
|
'ott' => 'application/vnd.oasis.opendocument.text-template', |
551
|
|
|
'oxt' => 'application/vnd.openofficeorg.extension', |
552
|
|
|
'p' => 'text/x-pascal', |
553
|
|
|
'p10' => 'application/pkcs10', |
554
|
|
|
'p12' => 'application/x-pkcs12', |
555
|
|
|
'p7b' => 'application/x-pkcs7-certificates', |
556
|
|
|
'p7c' => 'application/pkcs7-mime', |
557
|
|
|
'p7m' => 'application/pkcs7-mime', |
558
|
|
|
'p7r' => 'application/x-pkcs7-certreqresp', |
559
|
|
|
'p7s' => 'application/pkcs7-signature', |
560
|
|
|
'p8' => 'application/pkcs8', |
561
|
|
|
'pas' => 'text/x-pascal', |
562
|
|
|
'paw' => 'application/vnd.pawaafile', |
563
|
|
|
'pbd' => 'application/vnd.powerbuilder6', |
564
|
|
|
'pbm' => 'image/x-portable-bitmap', |
565
|
|
|
'pcf' => 'application/x-font-pcf', |
566
|
|
|
'pcl' => 'application/vnd.hp-pcl', |
567
|
|
|
'pclxl' => 'application/vnd.hp-pclxl', |
568
|
|
|
'pct' => 'image/x-pict', |
569
|
|
|
'pcurl' => 'application/vnd.curl.pcurl', |
570
|
|
|
'pcx' => 'image/x-pcx', |
571
|
|
|
'pdb' => 'application/vnd.palm', |
572
|
|
|
'pdf' => 'application/pdf', |
573
|
|
|
'pfa' => 'application/x-font-type1', |
574
|
|
|
'pfb' => 'application/x-font-type1', |
575
|
|
|
'pfm' => 'application/x-font-type1', |
576
|
|
|
'pfr' => 'application/font-tdpfr', |
577
|
|
|
'pfx' => 'application/x-pkcs12', |
578
|
|
|
'pgm' => 'image/x-portable-graymap', |
579
|
|
|
'pgn' => 'application/x-chess-pgn', |
580
|
|
|
'pgp' => 'application/pgp-encrypted', |
581
|
|
|
'php' => 'text/x-php', |
582
|
|
|
'phps' => 'application/x-httpd-phps', |
583
|
|
|
'pic' => 'image/x-pict', |
584
|
|
|
'pkg' => 'application/octet-stream', |
585
|
|
|
'pki' => 'application/pkixcmp', |
586
|
|
|
'pkipath' => 'application/pkix-pkipath', |
587
|
|
|
'plb' => 'application/vnd.3gpp.pic-bw-large', |
588
|
|
|
'plc' => 'application/vnd.mobius.plc', |
589
|
|
|
'plf' => 'application/vnd.pocketlearn', |
590
|
|
|
'pls' => 'application/pls+xml', |
591
|
|
|
'pml' => 'application/vnd.ctc-posml', |
592
|
|
|
'png' => 'image/png', |
593
|
|
|
'pnm' => 'image/x-portable-anymap', |
594
|
|
|
'portpkg' => 'application/vnd.macports.portpkg', |
595
|
|
|
'pot' => 'application/vnd.ms-powerpoint', |
596
|
|
|
'potm' => 'application/vnd.ms-powerpoint.template.macroenabled.12', |
597
|
|
|
'potx' => 'application/vnd.openxmlformats-officedocument.presentationml.template', |
598
|
|
|
'ppam' => 'application/vnd.ms-powerpoint.addin.macroenabled.12', |
599
|
|
|
'ppd' => 'application/vnd.cups-ppd', |
600
|
|
|
'ppm' => 'image/x-portable-pixmap', |
601
|
|
|
'pps' => 'application/vnd.ms-powerpoint', |
602
|
|
|
'ppsm' => 'application/vnd.ms-powerpoint.slideshow.macroenabled.12', |
603
|
|
|
'ppsx' => 'application/vnd.openxmlformats-officedocument.presentationml.slideshow', |
604
|
|
|
'ppt' => 'application/vnd.ms-powerpoint', |
605
|
|
|
'pptm' => 'application/vnd.ms-powerpoint.presentation.macroenabled.12', |
606
|
|
|
'pptx' => 'application/vnd.openxmlformats-officedocument.presentationml.presentation', |
607
|
|
|
'pqa' => 'application/vnd.palm', |
608
|
|
|
'prc' => 'application/x-mobipocket-ebook', |
609
|
|
|
'pre' => 'application/vnd.lotus-freelance', |
610
|
|
|
'prf' => 'application/pics-rules', |
611
|
|
|
'ps' => 'application/postscript', |
612
|
|
|
'psb' => 'application/vnd.3gpp.pic-bw-small', |
613
|
|
|
'psd' => 'image/vnd.adobe.photoshop', |
614
|
|
|
'psf' => 'application/x-font-linux-psf', |
615
|
|
|
'pskcxml' => 'application/pskc+xml', |
616
|
|
|
'ptid' => 'application/vnd.pvi.ptid1', |
617
|
|
|
'pub' => 'application/x-mspublisher', |
618
|
|
|
'pvb' => 'application/vnd.3gpp.pic-bw-var', |
619
|
|
|
'pwn' => 'application/vnd.3m.post-it-notes', |
620
|
|
|
'pya' => 'audio/vnd.ms-playready.media.pya', |
621
|
|
|
'pyv' => 'video/vnd.ms-playready.media.pyv', |
622
|
|
|
'qam' => 'application/vnd.epson.quickanime', |
623
|
|
|
'qbo' => 'application/vnd.intu.qbo', |
624
|
|
|
'qfx' => 'application/vnd.intu.qfx', |
625
|
|
|
'qps' => 'application/vnd.publishare-delta-tree', |
626
|
|
|
'qt' => 'video/quicktime', |
627
|
|
|
'qwd' => 'application/vnd.quark.quarkxpress', |
628
|
|
|
'qwt' => 'application/vnd.quark.quarkxpress', |
629
|
|
|
'qxb' => 'application/vnd.quark.quarkxpress', |
630
|
|
|
'qxd' => 'application/vnd.quark.quarkxpress', |
631
|
|
|
'qxl' => 'application/vnd.quark.quarkxpress', |
632
|
|
|
'qxt' => 'application/vnd.quark.quarkxpress', |
633
|
|
|
'ra' => 'audio/x-pn-realaudio', |
634
|
|
|
'ram' => 'audio/x-pn-realaudio', |
635
|
|
|
'rar' => 'application/x-rar-compressed', |
636
|
|
|
'ras' => 'image/x-cmu-raster', |
637
|
|
|
'rb' => 'text/plain', |
638
|
|
|
'rcprofile' => 'application/vnd.ipunplugged.rcprofile', |
639
|
|
|
'rdf' => 'application/rdf+xml', |
640
|
|
|
'rdz' => 'application/vnd.data-vision.rdz', |
641
|
|
|
'rep' => 'application/vnd.businessobjects', |
642
|
|
|
'res' => 'application/x-dtbresource+xml', |
643
|
|
|
'resx' => 'text/xml', |
644
|
|
|
'rgb' => 'image/x-rgb', |
645
|
|
|
'rif' => 'application/reginfo+xml', |
646
|
|
|
'rip' => 'audio/vnd.rip', |
647
|
|
|
'rl' => 'application/resource-lists+xml', |
648
|
|
|
'rlc' => 'image/vnd.fujixerox.edmics-rlc', |
649
|
|
|
'rld' => 'application/resource-lists-diff+xml', |
650
|
|
|
'rm' => 'application/vnd.rn-realmedia', |
651
|
|
|
'rmi' => 'audio/midi', |
652
|
|
|
'rmp' => 'audio/x-pn-realaudio-plugin', |
653
|
|
|
'rms' => 'application/vnd.jcp.javame.midlet-rms', |
654
|
|
|
'rnc' => 'application/relax-ng-compact-syntax', |
655
|
|
|
'roff' => 'text/troff', |
656
|
|
|
'rp9' => 'application/vnd.cloanto.rp9', |
657
|
|
|
'rpss' => 'application/vnd.nokia.radio-presets', |
658
|
|
|
'rpst' => 'application/vnd.nokia.radio-preset', |
659
|
|
|
'rq' => 'application/sparql-query', |
660
|
|
|
'rs' => 'application/rls-services+xml', |
661
|
|
|
'rsd' => 'application/rsd+xml', |
662
|
|
|
'rss' => 'application/rss+xml', |
663
|
|
|
'rtf' => 'application/rtf', |
664
|
|
|
'rtx' => 'text/richtext', |
665
|
|
|
's' => 'text/x-asm', |
666
|
|
|
'saf' => 'application/vnd.yamaha.smaf-audio', |
667
|
|
|
'sbml' => 'application/sbml+xml', |
668
|
|
|
'sc' => 'application/vnd.ibm.secure-container', |
669
|
|
|
'scd' => 'application/x-msschedule', |
670
|
|
|
'scm' => 'application/vnd.lotus-screencam', |
671
|
|
|
'scq' => 'application/scvp-cv-request', |
672
|
|
|
'scs' => 'application/scvp-cv-response', |
673
|
|
|
'scurl' => 'text/vnd.curl.scurl', |
674
|
|
|
'sda' => 'application/vnd.stardivision.draw', |
675
|
|
|
'sdc' => 'application/vnd.stardivision.calc', |
676
|
|
|
'sdd' => 'application/vnd.stardivision.impress', |
677
|
|
|
'sdkd' => 'application/vnd.solent.sdkm+xml', |
678
|
|
|
'sdkm' => 'application/vnd.solent.sdkm+xml', |
679
|
|
|
'sdp' => 'application/sdp', |
680
|
|
|
'sdw' => 'application/vnd.stardivision.writer', |
681
|
|
|
'see' => 'application/vnd.seemail', |
682
|
|
|
'seed' => 'application/vnd.fdsn.seed', |
683
|
|
|
'sema' => 'application/vnd.sema', |
684
|
|
|
'semd' => 'application/vnd.semd', |
685
|
|
|
'semf' => 'application/vnd.semf', |
686
|
|
|
'ser' => 'application/java-serialized-object', |
687
|
|
|
'setpay' => 'application/set-payment-initiation', |
688
|
|
|
'setreg' => 'application/set-registration-initiation', |
689
|
|
|
'sfd-hdstx' => 'application/vnd.hydrostatix.sof-data', |
690
|
|
|
'sfs' => 'application/vnd.spotfire.sfs', |
691
|
|
|
'sgl' => 'application/vnd.stardivision.writer-global', |
692
|
|
|
'sgm' => 'text/sgml', |
693
|
|
|
'sgml' => 'text/sgml', |
694
|
|
|
'sh' => 'application/x-sh', |
695
|
|
|
'shar' => 'application/x-shar', |
696
|
|
|
'shf' => 'application/shf+xml', |
697
|
|
|
'sig' => 'application/pgp-signature', |
698
|
|
|
'silo' => 'model/mesh', |
699
|
|
|
'sis' => 'application/vnd.symbian.install', |
700
|
|
|
'sisx' => 'application/vnd.symbian.install', |
701
|
|
|
'sit' => 'application/x-stuffit', |
702
|
|
|
'sitx' => 'application/x-stuffitx', |
703
|
|
|
'skd' => 'application/vnd.koan', |
704
|
|
|
'skm' => 'application/vnd.koan', |
705
|
|
|
'skp' => 'application/vnd.koan', |
706
|
|
|
'skt' => 'application/vnd.koan', |
707
|
|
|
'sldm' => 'application/vnd.ms-powerpoint.slide.macroenabled.12', |
708
|
|
|
'sldx' => 'application/vnd.openxmlformats-officedocument.presentationml.slide', |
709
|
|
|
'slt' => 'application/vnd.epson.salt', |
710
|
|
|
'sm' => 'application/vnd.stepmania.stepchart', |
711
|
|
|
'smf' => 'application/vnd.stardivision.math', |
712
|
|
|
'smi' => 'application/smil+xml', |
713
|
|
|
'smil' => 'application/smil+xml', |
714
|
|
|
'snd' => 'audio/basic', |
715
|
|
|
'snf' => 'application/x-font-snf', |
716
|
|
|
'so' => 'application/octet-stream', |
717
|
|
|
'spc' => 'application/x-pkcs7-certificates', |
718
|
|
|
'spf' => 'application/vnd.yamaha.smaf-phrase', |
719
|
|
|
'spl' => 'application/x-futuresplash', |
720
|
|
|
'spot' => 'text/vnd.in3d.spot', |
721
|
|
|
'spp' => 'application/scvp-vp-response', |
722
|
|
|
'spq' => 'application/scvp-vp-request', |
723
|
|
|
'spx' => 'audio/ogg', |
724
|
|
|
'src' => 'application/x-wais-source', |
725
|
|
|
'srt' => 'application/octet-stream', |
726
|
|
|
'sru' => 'application/sru+xml', |
727
|
|
|
'srx' => 'application/sparql-results+xml', |
728
|
|
|
'sse' => 'application/vnd.kodak-descriptor', |
729
|
|
|
'ssf' => 'application/vnd.epson.ssf', |
730
|
|
|
'ssml' => 'application/ssml+xml', |
731
|
|
|
'st' => 'application/vnd.sailingtracker.track', |
732
|
|
|
'stc' => 'application/vnd.sun.xml.calc.template', |
733
|
|
|
'std' => 'application/vnd.sun.xml.draw.template', |
734
|
|
|
'stf' => 'application/vnd.wt.stf', |
735
|
|
|
'sti' => 'application/vnd.sun.xml.impress.template', |
736
|
|
|
'stk' => 'application/hyperstudio', |
737
|
|
|
'stl' => 'application/vnd.ms-pki.stl', |
738
|
|
|
'str' => 'application/vnd.pg.format', |
739
|
|
|
'stw' => 'application/vnd.sun.xml.writer.template', |
740
|
|
|
'sub' => 'image/vnd.dvb.subtitle', |
741
|
|
|
'sus' => 'application/vnd.sus-calendar', |
742
|
|
|
'susp' => 'application/vnd.sus-calendar', |
743
|
|
|
'sv4cpio' => 'application/x-sv4cpio', |
744
|
|
|
'sv4crc' => 'application/x-sv4crc', |
745
|
|
|
'svc' => 'application/vnd.dvb.service', |
746
|
|
|
'svd' => 'application/vnd.svd', |
747
|
|
|
'svg' => 'image/svg+xml', |
748
|
|
|
'svgz' => 'image/svg+xml', |
749
|
|
|
'swa' => 'application/x-director', |
750
|
|
|
'swf' => 'application/x-shockwave-flash', |
751
|
|
|
'swi' => 'application/vnd.aristanetworks.swi', |
752
|
|
|
'sxc' => 'application/vnd.sun.xml.calc', |
753
|
|
|
'sxd' => 'application/vnd.sun.xml.draw', |
754
|
|
|
'sxg' => 'application/vnd.sun.xml.writer.global', |
755
|
|
|
'sxi' => 'application/vnd.sun.xml.impress', |
756
|
|
|
'sxm' => 'application/vnd.sun.xml.math', |
757
|
|
|
'sxw' => 'application/vnd.sun.xml.writer', |
758
|
|
|
't' => 'text/troff', |
759
|
|
|
'tao' => 'application/vnd.tao.intent-module-archive', |
760
|
|
|
'tar' => 'application/x-tar', |
761
|
|
|
'tcap' => 'application/vnd.3gpp2.tcap', |
762
|
|
|
'tcl' => 'application/x-tcl', |
763
|
|
|
'teacher' => 'application/vnd.smart.teacher', |
764
|
|
|
'tei' => 'application/tei+xml', |
765
|
|
|
'teicorpus' => 'application/tei+xml', |
766
|
|
|
'tex' => 'application/x-tex', |
767
|
|
|
'texi' => 'application/x-texinfo', |
768
|
|
|
'texinfo' => 'application/x-texinfo', |
769
|
|
|
'text' => 'text/plain', |
770
|
|
|
'tfi' => 'application/thraud+xml', |
771
|
|
|
'tfm' => 'application/x-tex-tfm', |
772
|
|
|
'thmx' => 'application/vnd.ms-officetheme', |
773
|
|
|
'tif' => 'image/tiff', |
774
|
|
|
'tiff' => 'image/tiff', |
775
|
|
|
'tmo' => 'application/vnd.tmobile-livetv', |
776
|
|
|
'torrent' => 'application/x-bittorrent', |
777
|
|
|
'tpl' => 'application/vnd.groove-tool-template', |
778
|
|
|
'tpt' => 'application/vnd.trid.tpt', |
779
|
|
|
'tr' => 'text/troff', |
780
|
|
|
'tra' => 'application/vnd.trueapp', |
781
|
|
|
'trm' => 'application/x-msterminal', |
782
|
|
|
'tsd' => 'application/timestamped-data', |
783
|
|
|
'tsv' => 'text/tab-separated-values', |
784
|
|
|
'ttc' => 'application/x-font-ttf', |
785
|
|
|
'ttf' => 'application/x-font-ttf', |
786
|
|
|
'ttl' => 'text/turtle', |
787
|
|
|
'twd' => 'application/vnd.simtech-mindmapper', |
788
|
|
|
'twds' => 'application/vnd.simtech-mindmapper', |
789
|
|
|
'txd' => 'application/vnd.genomatix.tuxedo', |
790
|
|
|
'txf' => 'application/vnd.mobius.txf', |
791
|
|
|
'txt' => 'text/plain', |
792
|
|
|
'u32' => 'application/x-authorware-bin', |
793
|
|
|
'udeb' => 'application/x-debian-package', |
794
|
|
|
'ufd' => 'application/vnd.ufdl', |
795
|
|
|
'ufdl' => 'application/vnd.ufdl', |
796
|
|
|
'umj' => 'application/vnd.umajin', |
797
|
|
|
'unityweb' => 'application/vnd.unity', |
798
|
|
|
'uoml' => 'application/vnd.uoml+xml', |
799
|
|
|
'uri' => 'text/uri-list', |
800
|
|
|
'uris' => 'text/uri-list', |
801
|
|
|
'urls' => 'text/uri-list', |
802
|
|
|
'ustar' => 'application/x-ustar', |
803
|
|
|
'utz' => 'application/vnd.uiq.theme', |
804
|
|
|
'uu' => 'text/x-uuencode', |
805
|
|
|
'uva' => 'audio/vnd.dece.audio', |
806
|
|
|
'uvd' => 'application/vnd.dece.data', |
807
|
|
|
'uvf' => 'application/vnd.dece.data', |
808
|
|
|
'uvg' => 'image/vnd.dece.graphic', |
809
|
|
|
'uvh' => 'video/vnd.dece.hd', |
810
|
|
|
'uvi' => 'image/vnd.dece.graphic', |
811
|
|
|
'uvm' => 'video/vnd.dece.mobile', |
812
|
|
|
'uvp' => 'video/vnd.dece.pd', |
813
|
|
|
'uvs' => 'video/vnd.dece.sd', |
814
|
|
|
'uvt' => 'application/vnd.dece.ttml+xml', |
815
|
|
|
'uvu' => 'video/vnd.uvvu.mp4', |
816
|
|
|
'uvv' => 'video/vnd.dece.video', |
817
|
|
|
'uvva' => 'audio/vnd.dece.audio', |
818
|
|
|
'uvvd' => 'application/vnd.dece.data', |
819
|
|
|
'uvvf' => 'application/vnd.dece.data', |
820
|
|
|
'uvvg' => 'image/vnd.dece.graphic', |
821
|
|
|
'uvvh' => 'video/vnd.dece.hd', |
822
|
|
|
'uvvi' => 'image/vnd.dece.graphic', |
823
|
|
|
'uvvm' => 'video/vnd.dece.mobile', |
824
|
|
|
'uvvp' => 'video/vnd.dece.pd', |
825
|
|
|
'uvvs' => 'video/vnd.dece.sd', |
826
|
|
|
'uvvt' => 'application/vnd.dece.ttml+xml', |
827
|
|
|
'uvvu' => 'video/vnd.uvvu.mp4', |
828
|
|
|
'uvvv' => 'video/vnd.dece.video', |
829
|
|
|
'uvvx' => 'application/vnd.dece.unspecified', |
830
|
|
|
'uvx' => 'application/vnd.dece.unspecified', |
831
|
|
|
'vcd' => 'application/x-cdlink', |
832
|
|
|
'vcf' => 'text/x-vcard', |
833
|
|
|
'vcg' => 'application/vnd.groove-vcard', |
834
|
|
|
'vcs' => 'text/x-vcalendar', |
835
|
|
|
'vcx' => 'application/vnd.vcx', |
836
|
|
|
'vis' => 'application/vnd.visionary', |
837
|
|
|
'viv' => 'video/vnd.vivo', |
838
|
|
|
'vor' => 'application/vnd.stardivision.writer', |
839
|
|
|
'vox' => 'application/x-authorware-bin', |
840
|
|
|
'vrml' => 'model/vrml', |
841
|
|
|
'vsd' => 'application/vnd.visio', |
842
|
|
|
'vsf' => 'application/vnd.vsf', |
843
|
|
|
'vss' => 'application/vnd.visio', |
844
|
|
|
'vst' => 'application/vnd.visio', |
845
|
|
|
'vsw' => 'application/vnd.visio', |
846
|
|
|
'vtu' => 'model/vnd.vtu', |
847
|
|
|
'vxml' => 'application/voicexml+xml', |
848
|
|
|
'w3d' => 'application/x-director', |
849
|
|
|
'wad' => 'application/x-doom', |
850
|
|
|
'wav' => 'audio/x-wav', |
851
|
|
|
'wax' => 'audio/x-ms-wax', |
852
|
|
|
'wbmp' => 'image/vnd.wap.wbmp', |
853
|
|
|
'wbs' => 'application/vnd.criticaltools.wbs+xml', |
854
|
|
|
'wbxml' => 'application/vnd.wap.wbxml', |
855
|
|
|
'wcm' => 'application/vnd.ms-works', |
856
|
|
|
'wdb' => 'application/vnd.ms-works', |
857
|
|
|
'weba' => 'audio/webm', |
858
|
|
|
'webm' => 'video/webm', |
859
|
|
|
'webp' => 'image/webp', |
860
|
|
|
'wg' => 'application/vnd.pmi.widget', |
861
|
|
|
'wgt' => 'application/widget', |
862
|
|
|
'wks' => 'application/vnd.ms-works', |
863
|
|
|
'wm' => 'video/x-ms-wm', |
864
|
|
|
'wma' => 'audio/x-ms-wma', |
865
|
|
|
'wmd' => 'application/x-ms-wmd', |
866
|
|
|
'wmf' => 'application/x-msmetafile', |
867
|
|
|
'wml' => 'text/vnd.wap.wml', |
868
|
|
|
'wmlc' => 'application/vnd.wap.wmlc', |
869
|
|
|
'wmls' => 'text/vnd.wap.wmlscript', |
870
|
|
|
'wmlsc' => 'application/vnd.wap.wmlscriptc', |
871
|
|
|
'wmv' => 'video/x-ms-wmv', |
872
|
|
|
'wmx' => 'video/x-ms-wmx', |
873
|
|
|
'wmz' => 'application/x-ms-wmz', |
874
|
|
|
'woff' => 'application/x-font-woff', |
875
|
|
|
'wpd' => 'application/vnd.wordperfect', |
876
|
|
|
'wpl' => 'application/vnd.ms-wpl', |
877
|
|
|
'wps' => 'application/vnd.ms-works', |
878
|
|
|
'wqd' => 'application/vnd.wqd', |
879
|
|
|
'wri' => 'application/x-mswrite', |
880
|
|
|
'wrl' => 'model/vrml', |
881
|
|
|
'wsdl' => 'application/wsdl+xml', |
882
|
|
|
'wspolicy' => 'application/wspolicy+xml', |
883
|
|
|
'wtb' => 'application/vnd.webturbo', |
884
|
|
|
'wvx' => 'video/x-ms-wvx', |
885
|
|
|
'x32' => 'application/x-authorware-bin', |
886
|
|
|
'x3d' => 'application/vnd.hzn-3d-crossword', |
887
|
|
|
'xap' => 'application/x-silverlight-app', |
888
|
|
|
'xar' => 'application/vnd.xara', |
889
|
|
|
'xbap' => 'application/x-ms-xbap', |
890
|
|
|
'xbd' => 'application/vnd.fujixerox.docuworks.binder', |
891
|
|
|
'xbm' => 'image/x-xbitmap', |
892
|
|
|
'xdf' => 'application/xcap-diff+xml', |
893
|
|
|
'xdm' => 'application/vnd.syncml.dm+xml', |
894
|
|
|
'xdp' => 'application/vnd.adobe.xdp+xml', |
895
|
|
|
'xdssc' => 'application/dssc+xml', |
896
|
|
|
'xdw' => 'application/vnd.fujixerox.docuworks', |
897
|
|
|
'xenc' => 'application/xenc+xml', |
898
|
|
|
'xer' => 'application/patch-ops-error+xml', |
899
|
|
|
'xfdf' => 'application/vnd.adobe.xfdf', |
900
|
|
|
'xfdl' => 'application/vnd.xfdl', |
901
|
|
|
'xht' => 'application/xhtml+xml', |
902
|
|
|
'xhtml' => 'application/xhtml+xml', |
903
|
|
|
'xhvml' => 'application/xv+xml', |
904
|
|
|
'xif' => 'image/vnd.xiff', |
905
|
|
|
'xla' => 'application/vnd.ms-excel', |
906
|
|
|
'xlam' => 'application/vnd.ms-excel.addin.macroenabled.12', |
907
|
|
|
'xlc' => 'application/vnd.ms-excel', |
908
|
|
|
'xlm' => 'application/vnd.ms-excel', |
909
|
|
|
'xls' => 'application/vnd.ms-excel', |
910
|
|
|
'xlsb' => 'application/vnd.ms-excel.sheet.binary.macroenabled.12', |
911
|
|
|
'xlsm' => 'application/vnd.ms-excel.sheet.macroenabled.12', |
912
|
|
|
'xlsx' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', |
913
|
|
|
'xlt' => 'application/vnd.ms-excel', |
914
|
|
|
'xltm' => 'application/vnd.ms-excel.template.macroenabled.12', |
915
|
|
|
'xltx' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.template', |
916
|
|
|
'xlw' => 'application/vnd.ms-excel', |
917
|
|
|
'xml' => 'application/xml', |
918
|
|
|
'xo' => 'application/vnd.olpc-sugar', |
919
|
|
|
'xop' => 'application/xop+xml', |
920
|
|
|
'xpi' => 'application/x-xpinstall', |
921
|
|
|
'xpm' => 'image/x-xpixmap', |
922
|
|
|
'xpr' => 'application/vnd.is-xpr', |
923
|
|
|
'xps' => 'application/vnd.ms-xpsdocument', |
924
|
|
|
'xpw' => 'application/vnd.intercon.formnet', |
925
|
|
|
'xpx' => 'application/vnd.intercon.formnet', |
926
|
|
|
'xsl' => 'application/xml', |
927
|
|
|
'xslt' => 'application/xslt+xml', |
928
|
|
|
'xsm' => 'application/vnd.syncml+xml', |
929
|
|
|
'xspf' => 'application/xspf+xml', |
930
|
|
|
'xul' => 'application/vnd.mozilla.xul+xml', |
931
|
|
|
'xvm' => 'application/xv+xml', |
932
|
|
|
'xvml' => 'application/xv+xml', |
933
|
|
|
'xwd' => 'image/x-xwindowdump', |
934
|
|
|
'xyz' => 'chemical/x-xyz', |
935
|
|
|
'yaml' => 'text/yaml', |
936
|
|
|
'yang' => 'application/yang', |
937
|
|
|
'yin' => 'application/yin+xml', |
938
|
|
|
'yml' => 'text/yaml', |
939
|
|
|
'zaz' => 'application/vnd.zzazz.deck+xml', |
940
|
|
|
'zip' => 'application/zip', |
941
|
|
|
'zir' => 'application/vnd.zul', |
942
|
|
|
'zirz' => 'application/vnd.zul', |
943
|
|
|
'zmm' => 'application/vnd.handheld-entertainment+xml' |
944
|
|
|
]; |
945
|
|
|
|
946
|
|
|
/** |
947
|
|
|
* Get a singleton instance of the class. |
948
|
|
|
* |
949
|
|
|
* @return self |
950
|
|
|
* @codeCoverageIgnore |
951
|
|
|
*/ |
952
|
|
|
public static function getInstance() |
953
|
|
|
{ |
954
|
|
|
if (!self::$instance) { |
955
|
|
|
self::$instance = new self(); |
956
|
|
|
} |
957
|
|
|
|
958
|
|
|
return self::$instance; |
959
|
|
|
} |
960
|
|
|
|
961
|
|
|
/** |
962
|
|
|
* Get a mimetype value from a file extension. |
963
|
|
|
* |
964
|
|
|
* @param string $extension File extension |
965
|
|
|
* |
966
|
|
|
* @return null|string |
967
|
|
|
*/ |
968
|
11 |
|
public function fromExtension($extension) |
969
|
|
|
{ |
970
|
11 |
|
$extension = strtolower($extension); |
971
|
|
|
|
972
|
11 |
|
return $this->mimetypes[$extension] ?? null; |
973
|
|
|
} |
974
|
|
|
|
975
|
|
|
/** |
976
|
|
|
* Get a mimetype from a filename. |
977
|
|
|
* |
978
|
|
|
* @param string $filename Filename to generate a mimetype from |
979
|
|
|
* |
980
|
|
|
* @return null|string |
981
|
|
|
*/ |
982
|
9 |
|
public function fromFilename($filename) |
983
|
|
|
{ |
984
|
9 |
|
return $this->fromExtension(pathinfo($filename, PATHINFO_EXTENSION)); |
985
|
|
|
} |
986
|
|
|
} |
987
|
|
|
|