Skip to content

Commit 37065d4

Browse files
committed
[Mime] added a set of default content-types for some extensions
1 parent db6784b commit 37065d4

File tree

2 files changed

+94
-27
lines changed

2 files changed

+94
-27
lines changed

src/Symfony/Component/Mime/MimeTypes.php

+27-26
Original file line numberDiff line numberDiff line change
@@ -1654,6 +1654,7 @@ public function guessMimeType(string $path): ?string
16541654
'appimage' => ['application/vnd.appimage', 'application/x-iso9660-appimage'],
16551655
'application' => ['application/x-ms-application'],
16561656
'apr' => ['application/vnd.lotus-approach'],
1657+
'aps' => ['application/postscript'],
16571658
'ar' => ['application/x-archive'],
16581659
'arc' => ['application/x-freearc'],
16591660
'arj' => ['application/x-arj'],
@@ -1706,7 +1707,7 @@ public function guessMimeType(string $path): ?string
17061707
'bsdiff' => ['application/x-bsdiff'],
17071708
'btif' => ['image/prs.btif'],
17081709
'bz' => ['application/x-bzip', 'application/x-bzip2'],
1709-
'bz2' => ['application/x-bzip', 'application/x-bzip2'],
1710+
'bz2' => ['application/x-bz2', 'application/x-bzip', 'application/x-bzip2'],
17101711
'c' => ['text/x-c', 'text/x-csrc'],
17111712
'c++' => ['text/x-c++src'],
17121713
'c11amc' => ['application/vnd.cluetrust.cartomobile-config'],
@@ -1957,7 +1958,7 @@ public function guessMimeType(string $path): ?string
19571958
'flc' => ['video/fli', 'video/x-fli', 'video/x-flic'],
19581959
'fli' => ['video/fli', 'video/x-fli', 'video/x-flic'],
19591960
'flo' => ['application/vnd.micrografx.flo'],
1960-
'flv' => ['application/x-flash-video', 'flv-application/octet-stream', 'video/flv', 'video/x-flv'],
1961+
'flv' => ['video/x-flv', 'application/x-flash-video', 'flv-application/octet-stream', 'video/flv'],
19611962
'flw' => ['application/vnd.kde.kivio', 'application/x-kivio'],
19621963
'flx' => ['text/vnd.fmi.flexstor'],
19631964
'fly' => ['text/vnd.fly'],
@@ -2042,7 +2043,7 @@ public function guessMimeType(string $path): ?string
20422043
'gvp' => ['text/google-video-pointer', 'text/x-google-video-pointer'],
20432044
'gxf' => ['application/gxf'],
20442045
'gxt' => ['application/vnd.geonext'],
2045-
'gz' => ['application/gzip', 'application/x-gzip'],
2046+
'gz' => ['application/x-gzip', 'application/gzip'],
20462047
'h' => ['text/x-c', 'text/x-chdr'],
20472048
'h++' => ['text/x-c++hdr'],
20482049
'h261' => ['video/h261'],
@@ -2065,7 +2066,7 @@ public function guessMimeType(string $path): ?string
20652066
'hpid' => ['application/vnd.hp-hpid'],
20662067
'hpp' => ['text/x-c++hdr'],
20672068
'hps' => ['application/vnd.hp-hps'],
2068-
'hqx' => ['application/mac-binhex40'],
2069+
'hqx' => ['application/stuffit', 'application/mac-binhex40'],
20692070
'hs' => ['text/x-haskell'],
20702071
'htke' => ['application/vnd.kenameaapp'],
20712072
'htm' => ['text/html'],
@@ -2126,7 +2127,7 @@ public function guessMimeType(string $path): ?string
21262127
'j2k' => ['image/x-jp2-codestream'],
21272128
'jad' => ['text/vnd.sun.j2me.app-descriptor'],
21282129
'jam' => ['application/vnd.jam'],
2129-
'jar' => ['application/java-archive', 'application/x-jar', 'application/x-java-archive'],
2130+
'jar' => ['application/x-java-archive', 'application/java-archive', 'application/x-jar'],
21302131
'java' => ['text/x-java', 'text/x-java-source'],
21312132
'jceks' => ['application/x-java-jce-keystore'],
21322133
'jisp' => ['application/vnd.jisp'],
@@ -2148,7 +2149,7 @@ public function guessMimeType(string $path): ?string
21482149
'jpr' => ['application/x-jbuilder-project'],
21492150
'jpx' => ['application/x-jbuilder-project', 'image/jpx'],
21502151
'jrd' => ['application/jrd+json'],
2151-
'js' => ['application/javascript', 'application/x-javascript', 'text/javascript'],
2152+
'js' => ['text/javascript', 'application/javascript', 'application/x-javascript'],
21522153
'jsm' => ['application/javascript', 'application/x-javascript', 'text/javascript'],
21532154
'json' => ['application/json'],
21542155
'json-patch' => ['application/json-patch+json'],
@@ -2237,10 +2238,10 @@ public function guessMimeType(string $path): ?string
22372238
'm2ts' => ['video/mp2t'],
22382239
'm2v' => ['video/mpeg'],
22392240
'm3a' => ['audio/mpeg'],
2240-
'm3u' => ['application/m3u', 'application/vnd.apple.mpegurl', 'audio/m3u', 'audio/mpegurl', 'audio/x-m3u', 'audio/x-mp3-playlist', 'audio/x-mpegurl'],
2241+
'm3u' => ['audio/x-mpegurl', 'application/m3u', 'application/vnd.apple.mpegurl', 'audio/m3u', 'audio/mpegurl', 'audio/x-m3u', 'audio/x-mp3-playlist'],
22412242
'm3u8' => ['application/m3u', 'application/vnd.apple.mpegurl', 'audio/m3u', 'audio/mpegurl', 'audio/x-m3u', 'audio/x-mp3-playlist', 'audio/x-mpegurl'],
22422243
'm4' => ['application/x-m4'],
2243-
'm4a' => ['audio/m4a', 'audio/mp4', 'audio/x-m4a'],
2244+
'm4a' => ['audio/mp4', 'audio/m4a', 'audio/x-m4a'],
22442245
'm4b' => ['audio/x-m4b'],
22452246
'm4r' => ['audio/x-m4r'],
22462247
'm4u' => ['video/vnd.mpegurl', 'video/x-mpegurl'],
@@ -2264,7 +2265,7 @@ public function guessMimeType(string $path): ?string
22642265
'mcd' => ['application/vnd.mcd'],
22652266
'mcurl' => ['text/vnd.curl.mcurl'],
22662267
'md' => ['text/markdown', 'text/x-markdown'],
2267-
'mdb' => ['application/mdb', 'application/msaccess', 'application/vnd.ms-access', 'application/vnd.msaccess', 'application/x-mdb', 'application/x-msaccess', 'zz-application/zz-winassoc-mdb'],
2268+
'mdb' => ['application/x-msaccess', 'application/mdb', 'application/msaccess', 'application/vnd.ms-access', 'application/vnd.msaccess', 'application/x-mdb', 'zz-application/zz-winassoc-mdb'],
22682269
'mdi' => ['image/vnd.ms-modi'],
22692270
'mdx' => ['application/x-genesis-32x-rom'],
22702271
'me' => ['text/troff', 'text/x-troff-me'],
@@ -2321,7 +2322,7 @@ public function guessMimeType(string $path): ?string
23212322
'mp2' => ['audio/mp2', 'audio/mpeg', 'audio/x-mp2', 'video/mpeg', 'video/mpeg-system', 'video/x-mpeg', 'video/x-mpeg-system', 'video/x-mpeg2'],
23222323
'mp21' => ['application/mp21'],
23232324
'mp2a' => ['audio/mpeg'],
2324-
'mp3' => ['audio/mp3', 'audio/mpeg', 'audio/x-mp3', 'audio/x-mpeg', 'audio/x-mpg'],
2325+
'mp3' => ['audio/mpeg', 'audio/mp3', 'audio/x-mp3', 'audio/x-mpeg', 'audio/x-mpg'],
23252326
'mp4' => ['video/mp4', 'video/mp4v-es', 'video/x-m4v'],
23262327
'mp4a' => ['audio/mp4'],
23272328
'mp4s' => ['application/mp4'],
@@ -2409,12 +2410,12 @@ public function guessMimeType(string $path): ?string
24092410
'odc' => ['application/vnd.oasis.opendocument.chart'],
24102411
'odf' => ['application/vnd.oasis.opendocument.formula'],
24112412
'odft' => ['application/vnd.oasis.opendocument.formula-template'],
2412-
'odg' => ['application/vnd.oasis.opendocument.graphics'],
2413+
'odg' => ['vnd.oasis.opendocument.graphics', 'application/vnd.oasis.opendocument.graphics'],
24132414
'odi' => ['application/vnd.oasis.opendocument.image'],
24142415
'odm' => ['application/vnd.oasis.opendocument.text-master'],
2415-
'odp' => ['application/vnd.oasis.opendocument.presentation'],
2416-
'ods' => ['application/vnd.oasis.opendocument.spreadsheet'],
2417-
'odt' => ['application/vnd.oasis.opendocument.text'],
2416+
'odp' => ['vnd.oasis.opendocument.presentation', 'application/vnd.oasis.opendocument.presentation'],
2417+
'ods' => ['vnd.oasis.opendocument.spreadsheet', 'application/vnd.oasis.opendocument.spreadsheet'],
2418+
'odt' => ['vnd.oasis.opendocument.text', 'application/vnd.oasis.opendocument.text'],
24182419
'oga' => ['audio/ogg', 'audio/vorbis', 'audio/x-flac+ogg', 'audio/x-ogg', 'audio/x-oggflac', 'audio/x-speex+ogg', 'audio/x-vorbis', 'audio/x-vorbis+ogg'],
24192420
'ogg' => ['audio/ogg', 'audio/vorbis', 'audio/x-flac+ogg', 'audio/x-ogg', 'audio/x-oggflac', 'audio/x-speex+ogg', 'audio/x-vorbis', 'audio/x-vorbis+ogg', 'video/ogg', 'video/x-ogg', 'video/x-theora', 'video/x-theora+ogg'],
24202421
'ogm' => ['video/x-ogm', 'video/x-ogm+ogg'],
@@ -2484,7 +2485,7 @@ public function guessMimeType(string $path): ?string
24842485
'pcx' => ['image/vnd.zbrush.pcx', 'image/x-pcx'],
24852486
'pdb' => ['application/vnd.palm', 'application/x-aportisdoc', 'application/x-palm-database'],
24862487
'pdc' => ['application/x-aportisdoc'],
2487-
'pdf' => ['application/acrobat', 'application/nappdf', 'application/pdf', 'application/x-pdf', 'image/pdf'],
2488+
'pdf' => ['application/pdf', 'application/acrobat', 'application/nappdf', 'application/x-pdf', 'image/pdf'],
24882489
'pdf.bz2' => ['application/x-bzpdf'],
24892490
'pdf.gz' => ['application/x-gzpdf'],
24902491
'pdf.lz' => ['application/x-lzpdf'],
@@ -2541,7 +2542,7 @@ public function guessMimeType(string $path): ?string
25412542
'pps' => ['application/mspowerpoint', 'application/powerpoint', 'application/vnd.ms-powerpoint', 'application/x-mspowerpoint'],
25422543
'ppsm' => ['application/vnd.ms-powerpoint.slideshow.macroenabled.12'],
25432544
'ppsx' => ['application/vnd.openxmlformats-officedocument.presentationml.slideshow'],
2544-
'ppt' => ['application/mspowerpoint', 'application/powerpoint', 'application/vnd.ms-powerpoint', 'application/x-mspowerpoint'],
2545+
'ppt' => ['application/vnd.ms-powerpoint', 'application/mspowerpoint', 'application/powerpoint', 'application/x-mspowerpoint'],
25452546
'pptm' => ['application/vnd.ms-powerpoint.presentation.macroenabled.12'],
25462547
'pptx' => ['application/vnd.openxmlformats-officedocument.presentationml.presentation'],
25472548
'ppz' => ['application/mspowerpoint', 'application/powerpoint', 'application/vnd.ms-powerpoint', 'application/x-mspowerpoint'],
@@ -2599,7 +2600,7 @@ public function guessMimeType(string $path): ?string
25992600
'raf' => ['image/x-fuji-raf'],
26002601
'ram' => ['application/ram', 'audio/x-pn-realaudio'],
26012602
'raml' => ['application/raml+yaml'],
2602-
'rar' => ['application/vnd.rar', 'application/x-rar', 'application/x-rar-compressed'],
2603+
'rar' => ['application/x-rar-compressed', 'application/vnd.rar', 'application/x-rar'],
26032604
'ras' => ['image/x-cmu-raster'],
26042605
'raw' => ['image/x-panasonic-raw', 'image/x-panasonic-rw'],
26052606
'raw-disk-image' => ['application/x-raw-disk-image'],
@@ -2708,7 +2709,7 @@ public function guessMimeType(string $path): ?string
27082709
'silo' => ['model/mesh'],
27092710
'sis' => ['application/vnd.symbian.install'],
27102711
'sisx' => ['application/vnd.symbian.install', 'x-epoc/x-sisx-app'],
2711-
'sit' => ['application/stuffit', 'application/x-sit', 'application/x-stuffit'],
2712+
'sit' => ['application/x-stuffit', 'application/stuffit', 'application/x-sit'],
27122713
'sitx' => ['application/x-stuffitx'],
27132714
'siv' => ['application/sieve'],
27142715
'sk' => ['image/x-skencil'],
@@ -2806,7 +2807,7 @@ public function guessMimeType(string $path): ?string
28062807
't3' => ['application/x-t3vm-image'],
28072808
'taglet' => ['application/vnd.mynfc'],
28082809
'tao' => ['application/vnd.tao.intent-module-archive'],
2809-
'tar' => ['application/x-gtar', 'application/x-tar'],
2810+
'tar' => ['application/x-tar', 'application/x-gtar'],
28102811
'tar.Z' => ['application/x-tarz'],
28112812
'tar.bz' => ['application/x-bzip-compressed-tar'],
28122813
'tar.bz2' => ['application/x-bzip-compressed-tar'],
@@ -2861,7 +2862,7 @@ public function guessMimeType(string $path): ?string
28612862
'tsv' => ['text/tab-separated-values'],
28622863
'tta' => ['audio/tta', 'audio/x-tta'],
28632864
'ttc' => ['font/collection'],
2864-
'ttf' => ['application/x-font-ttf', 'font/ttf'],
2865+
'ttf' => ['application/x-font-truetype', 'application/x-font-ttf', 'font/ttf'],
28652866
'ttl' => ['text/turtle'],
28662867
'ttx' => ['application/x-font-ttx'],
28672868
'twd' => ['application/vnd.simtech-mindmapper'],
@@ -2930,7 +2931,7 @@ public function guessMimeType(string $path): ?string
29302931
'vb' => ['application/x-virtual-boy-rom'],
29312932
'vcard' => ['text/directory', 'text/vcard', 'text/x-vcard'],
29322933
'vcd' => ['application/x-cdlink'],
2933-
'vcf' => ['text/directory', 'text/vcard', 'text/x-vcard'],
2934+
'vcf' => ['text/x-vcard', 'text/directory', 'text/vcard'],
29342935
'vcg' => ['application/vnd.groove-vcard'],
29352936
'vcs' => ['application/ics', 'text/calendar', 'text/x-vcalendar'],
29362937
'vct' => ['text/directory', 'text/vcard', 'text/x-vcard'],
@@ -2964,7 +2965,7 @@ public function guessMimeType(string $path): ?string
29642965
'vxml' => ['application/voicexml+xml'],
29652966
'w3d' => ['application/x-director'],
29662967
'wad' => ['application/x-doom', 'application/x-doom-wad', 'application/x-wii-wad'],
2967-
'wav' => ['audio/vnd.wave', 'audio/wav', 'audio/x-wav'],
2968+
'wav' => ['audio/wav', 'audio/vnd.wave', 'audio/x-wav'],
29682969
'wax' => ['application/x-ms-asx', 'audio/x-ms-asx', 'audio/x-ms-wax', 'video/x-ms-wax', 'video/x-ms-wmx', 'video/x-ms-wvx'],
29692970
'wb1' => ['application/x-quattropro'],
29702971
'wb2' => ['application/x-quattropro'],
@@ -2987,14 +2988,14 @@ public function guessMimeType(string $path): ?string
29872988
'wkdownload' => ['application/x-partial-download'],
29882989
'wks' => ['application/lotus123', 'application/vnd.lotus-1-2-3', 'application/vnd.ms-works', 'application/wk1', 'application/x-123', 'application/x-lotus123', 'zz-application/zz-winassoc-123'],
29892990
'wm' => ['video/x-ms-wm'],
2990-
'wma' => ['audio/wma', 'audio/x-ms-wma'],
2991+
'wma' => ['audio/x-ms-wma', 'audio/wma'],
29912992
'wmd' => ['application/x-ms-wmd'],
29922993
'wmf' => ['application/wmf', 'application/x-msmetafile', 'application/x-wmf', 'image/wmf', 'image/x-win-metafile', 'image/x-wmf'],
29932994
'wml' => ['text/vnd.wap.wml'],
29942995
'wmlc' => ['application/vnd.wap.wmlc'],
29952996
'wmls' => ['text/vnd.wap.wmlscript'],
29962997
'wmlsc' => ['application/vnd.wap.wmlscriptc'],
2997-
'wmv' => ['video/x-ms-wmv'],
2998+
'wmv' => ['audio/x-ms-wmv', 'video/x-ms-wmv'],
29982999
'wmx' => ['application/x-ms-asx', 'audio/x-ms-asx', 'video/x-ms-wax', 'video/x-ms-wmx', 'video/x-ms-wvx'],
29993000
'wmz' => ['application/x-ms-wmz', 'application/x-msmetafile'],
30003001
'woff' => ['application/font-woff', 'application/x-font-woff', 'font/woff'],
@@ -3067,7 +3068,7 @@ public function guessMimeType(string $path): ?string
30673068
'xll' => ['application/msexcel', 'application/vnd.ms-excel', 'application/x-msexcel', 'zz-application/zz-winassoc-xls'],
30683069
'xlm' => ['application/msexcel', 'application/vnd.ms-excel', 'application/x-msexcel', 'zz-application/zz-winassoc-xls'],
30693070
'xlr' => ['application/vnd.ms-works'],
3070-
'xls' => ['application/msexcel', 'application/vnd.ms-excel', 'application/x-msexcel', 'zz-application/zz-winassoc-xls'],
3071+
'xls' => ['application/vnd.ms-excel', 'application/msexcel', 'application/x-msexcel', 'zz-application/zz-winassoc-xls'],
30713072
'xlsb' => ['application/vnd.ms-excel.sheet.binary.macroenabled.12'],
30723073
'xlsm' => ['application/vnd.ms-excel.sheet.macroenabled.12'],
30733074
'xlsx' => ['application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'],
@@ -3116,7 +3117,7 @@ public function guessMimeType(string $path): ?string
31163117
'z8' => ['application/x-zmachine'],
31173118
'zabw' => ['application/x-abiword'],
31183119
'zaz' => ['application/vnd.zzazz.deck+xml'],
3119-
'zip' => ['application/x-zip', 'application/x-zip-compressed', 'application/zip'],
3120+
'zip' => ['application/zip', 'application/x-zip', 'application/x-zip-compressed'],
31203121
'zir' => ['application/vnd.zul'],
31213122
'zirz' => ['application/vnd.zul'],
31223123
'zmm' => ['application/vnd.handheld-entertainment+xml'],

src/Symfony/Component/Mime/Resources/bin/update_mime_types.php

+67-1
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,73 @@
7373
$data .= $post;
7474

7575
// reverse map
76-
$exts = [];
76+
// we prefill the extensions with some preferences for content-types
77+
$exts = [
78+
'aif' => ['audio/x-aiff'],
79+
'aiff' => ['audio/x-aiff'],
80+
'aps' => ['application/postscript'],
81+
'avi' => ['video/avi'],
82+
'bmp' => ['image/bmp'],
83+
'bz2' => ['application/x-bz2'],
84+
'css' => ['text/css'],
85+
'csv' => ['text/csv'],
86+
'dmg' => ['application/x-apple-diskimage'],
87+
'doc' => ['application/msword'],
88+
'docx' => ['application/vnd.openxmlformats-officedocument.wordprocessingml.document'],
89+
'eml' => ['message/rfc822'],
90+
'exe' => ['application/x-ms-dos-executable'],
91+
'flv' => ['video/x-flv'],
92+
'gz' => ['application/x-gzip'],
93+
'hqx' => ['application/stuffit'],
94+
'htm' => ['text/html'],
95+
'html' => ['text/html'],
96+
'gif' => ['image/gif'],
97+
'jar' => ['application/x-java-archive'],
98+
'jpeg' => ['image/jpeg'],
99+
'jpg' => ['image/jpeg'],
100+
'js' => ['text/javascript'],
101+
'm3u' => ['audio/x-mpegurl'],
102+
'm4a' => ['audio/mp4'],
103+
'mdb' => ['application/x-msaccess'],
104+
'mid' => ['audio/midi'],
105+
'midi' => ['audio/midi'],
106+
'mov' => ['video/quicktime'],
107+
'mp3' => ['audio/mpeg'],
108+
'mp4' => ['video/mp4'],
109+
'mpeg' => ['video/mpeg'],
110+
'mpg' => ['video/mpeg'],
111+
'odg' => ['vnd.oasis.opendocument.graphics'],
112+
'odp' => ['vnd.oasis.opendocument.presentation'],
113+
'ods' => ['vnd.oasis.opendocument.spreadsheet'],
114+
'odt' => ['vnd.oasis.opendocument.text'],
115+
'ogg' => ['audio/ogg'],
116+
'pdf' => ['application/pdf'],
117+
'php' => ['application/x-php'],
118+
'php3' => ['application/x-php'],
119+
'php4' => ['application/x-php'],
120+
'php5' => ['application/x-php'],
121+
'png' => ['image/png'],
122+
'ppt' => ['application/vnd.ms-powerpoint'],
123+
'pptx' => ['application/vnd.openxmlformats-officedocument.presentationml.presentation'],
124+
'ps' => ['application/postscript'],
125+
'rar' => ['application/x-rar-compressed'],
126+
'rtf' => ['application/rtf'],
127+
'sit' => ['application/x-stuffit'],
128+
'svg' => ['image/svg+xml'],
129+
'tar' => ['application/x-tar'],
130+
'tif' => ['image/tiff'],
131+
'tiff' => ['image/tiff'],
132+
'ttf' => ['application/x-font-truetype'],
133+
'txt' => ['text/plain'],
134+
'vcf' => ['text/x-vcard'],
135+
'wav' => ['audio/wav'],
136+
'wma' => ['audio/x-ms-wma'],
137+
'wmv' => ['audio/x-ms-wmv'],
138+
'xls' => ['application/vnd.ms-excel'],
139+
'xlsx' => ['application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'],
140+
'xml' => ['application/xml'],
141+
'zip' => ['application/zip'],
142+
];
77143
foreach ($map as $mimeType => $extensions) {
78144
foreach ($extensions as $extension) {
79145
$exts[$extension][] = $mimeType;

0 commit comments

Comments
 (0)