big update base struktur tahap 1
This commit is contained in:
+10
-2
@@ -30,7 +30,7 @@ class Filesystem implements FilesystemOperator
|
||||
private ?TemporaryUrlGenerator $temporaryUrlGenerator = null,
|
||||
) {
|
||||
$this->config = new Config($config);
|
||||
$this->pathNormalizer = $pathNormalizer ?? new WhitespacePathNormalizer();
|
||||
$this->pathNormalizer = $pathNormalizer ?? new WhitespacePathNormalizer($this->config->get('allow_relative_path_traversal', true));
|
||||
}
|
||||
|
||||
public function fileExists(string $location): bool
|
||||
@@ -168,9 +168,17 @@ class Filesystem implements FilesystemOperator
|
||||
|
||||
public function mimeType(string $path): string
|
||||
{
|
||||
return $this->adapter->mimeType($this->pathNormalizer->normalizePath($path))->mimeType();
|
||||
$normalizedPath = $this->pathNormalizer->normalizePath($path);
|
||||
$attributes = $this->adapter->mimeType($normalizedPath);
|
||||
|
||||
if ($attributes->mimeType() === null) {
|
||||
throw UnableToRetrieveMetadata::mimeType($path);
|
||||
}
|
||||
|
||||
return $attributes->mimeType();
|
||||
}
|
||||
|
||||
|
||||
public function setVisibility(string $path, string $visibility): void
|
||||
{
|
||||
$this->adapter->setVisibility($this->pathNormalizer->normalizePath($path), $visibility);
|
||||
|
||||
+18
-13
@@ -4,37 +4,42 @@ declare(strict_types=1);
|
||||
|
||||
namespace League\Flysystem;
|
||||
|
||||
use function array_pop;
|
||||
use function explode;
|
||||
use function implode;
|
||||
use function preg_match;
|
||||
use function str_replace;
|
||||
|
||||
class WhitespacePathNormalizer implements PathNormalizer
|
||||
{
|
||||
private bool $allowRelativePaths;
|
||||
|
||||
public function __construct(bool $allowRelativePathTraversal = true)
|
||||
{
|
||||
$this->allowRelativePaths = $allowRelativePathTraversal;
|
||||
}
|
||||
|
||||
public function normalizePath(string $path): string
|
||||
{
|
||||
$path = str_replace('\\', '/', $path);
|
||||
$this->rejectFunkyWhiteSpace($path);
|
||||
$unixPath = str_replace('\\', '/', $path);
|
||||
|
||||
return $this->normalizeRelativePath($path);
|
||||
}
|
||||
|
||||
private function rejectFunkyWhiteSpace(string $path): void
|
||||
{
|
||||
if (preg_match('#\p{C}+#u', $path)) {
|
||||
if (preg_match('#\p{C}+#u', $unixPath)) {
|
||||
throw CorruptedPathDetected::forPath($path);
|
||||
}
|
||||
}
|
||||
|
||||
private function normalizeRelativePath(string $path): string
|
||||
{
|
||||
$parts = [];
|
||||
|
||||
foreach (explode('/', $path) as $part) {
|
||||
foreach (explode('/', $unixPath) as $part) {
|
||||
switch ($part) {
|
||||
case '':
|
||||
case '.':
|
||||
break;
|
||||
|
||||
case '..':
|
||||
if (empty($parts)) {
|
||||
if ($this->allowRelativePaths === false || empty($parts)) {
|
||||
throw PathTraversalDetected::forPath($path);
|
||||
}
|
||||
|
||||
array_pop($parts);
|
||||
break;
|
||||
|
||||
|
||||
@@ -1,5 +1,9 @@
|
||||
# Changelog
|
||||
|
||||
## 1.17.0 - 2026-07-09
|
||||
|
||||
- Updated lookup
|
||||
|
||||
## 1.16.0 - 2025-09-21
|
||||
|
||||
- Updated lookup
|
||||
|
||||
+1
-1
@@ -17,7 +17,7 @@
|
||||
"ext-fileinfo": "*"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "^8.5.8 || ^9.3 || ^10.0",
|
||||
"phpunit/phpunit": "^8.5.8 || ^9.3 || ^10.0 || ^11.0 || ^12.0",
|
||||
"phpstan/phpstan": "^0.12.68",
|
||||
"friendsofphp/php-cs-fixer": "^3.2"
|
||||
},
|
||||
|
||||
@@ -22,6 +22,7 @@ class GeneratedExtensionToMimeTypeMap implements ExtensionToMimeTypeMap, Extensi
|
||||
'7z' => 'application/x-7z-compressed',
|
||||
'7zip' => 'application/x-7z-compressed',
|
||||
'123' => 'application/vnd.lotus-1-2-3',
|
||||
'210' => 'model/step',
|
||||
'aab' => 'application/x-authorware-bin',
|
||||
'aac' => 'audio/acc',
|
||||
'aam' => 'application/x-authorware-map',
|
||||
@@ -40,7 +41,7 @@ class GeneratedExtensionToMimeTypeMap implements ExtensionToMimeTypeMap, Extensi
|
||||
'afp' => 'application/vnd.ibm.modcap',
|
||||
'age' => 'application/vnd.age',
|
||||
'ahead' => 'application/vnd.ahead.space',
|
||||
'ai' => 'application/pdf',
|
||||
'ai' => 'application/illustrator',
|
||||
'aif' => 'audio/x-aiff',
|
||||
'aifc' => 'audio/x-aiff',
|
||||
'aiff' => 'audio/x-aiff',
|
||||
@@ -93,6 +94,7 @@ class GeneratedExtensionToMimeTypeMap implements ExtensionToMimeTypeMap, Extensi
|
||||
'bh2' => 'application/vnd.fujitsu.oasysprs',
|
||||
'bin' => 'application/octet-stream',
|
||||
'blb' => 'application/x-blorb',
|
||||
'blend' => 'application/x-blender',
|
||||
'blorb' => 'application/x-blorb',
|
||||
'bmi' => 'application/vnd.bmi',
|
||||
'bmml' => 'application/vnd.balsamiq.bmml+xml',
|
||||
@@ -103,6 +105,8 @@ class GeneratedExtensionToMimeTypeMap implements ExtensionToMimeTypeMap, Extensi
|
||||
'bpk' => 'application/octet-stream',
|
||||
'bpmn' => 'application/octet-stream',
|
||||
'brf' => 'application/braille',
|
||||
'brush' => 'application/vnd.procreate.brush',
|
||||
'brushset' => 'application/vnd.procreate.brushset',
|
||||
'bsp' => 'model/vnd.valve.source.compiled-map',
|
||||
'btf' => 'image/prs.btif',
|
||||
'btif' => 'image/prs.btif',
|
||||
@@ -202,6 +206,8 @@ class GeneratedExtensionToMimeTypeMap implements ExtensionToMimeTypeMap, Extensi
|
||||
'davmount' => 'application/davmount+xml',
|
||||
'dbf' => 'application/vnd.dbf',
|
||||
'dbk' => 'application/docbook+xml',
|
||||
'dcm' => 'application/dicom',
|
||||
'dcmp' => 'application/vnd.dcmp+xml',
|
||||
'dcr' => 'application/x-director',
|
||||
'dcurl' => 'text/vnd.curl.dcurl',
|
||||
'dd2' => 'application/vnd.oma.dd2+xml',
|
||||
@@ -229,6 +235,7 @@ class GeneratedExtensionToMimeTypeMap implements ExtensionToMimeTypeMap, Extensi
|
||||
'dmp' => 'application/vnd.tcpdump.pcap',
|
||||
'dms' => 'application/octet-stream',
|
||||
'dna' => 'application/vnd.dna',
|
||||
'dng' => 'image/x-adobe-dng',
|
||||
'doc' => 'application/msword',
|
||||
'docm' => 'application/vnd.ms-word.template.macroEnabled.12',
|
||||
'docx' => 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
|
||||
@@ -240,6 +247,7 @@ class GeneratedExtensionToMimeTypeMap implements ExtensionToMimeTypeMap, Extensi
|
||||
'dpx' => 'image/dpx',
|
||||
'dra' => 'audio/vnd.dra',
|
||||
'drle' => 'image/dicom-rle',
|
||||
'drm' => 'application/vnd.procreate.dream',
|
||||
'dsc' => 'text/prs.lines.tag',
|
||||
'dssc' => 'application/dssc+der',
|
||||
'dst' => 'application/octet-stream',
|
||||
@@ -294,7 +302,9 @@ class GeneratedExtensionToMimeTypeMap implements ExtensionToMimeTypeMap, Extensi
|
||||
'f4v' => 'video/mp4',
|
||||
'f77' => 'text/x-fortran',
|
||||
'f90' => 'text/x-fortran',
|
||||
'facti' => 'image/vnd.blockfact.facti',
|
||||
'fbs' => 'image/vnd.fastbidsheet',
|
||||
'fbx' => 'application/vnd.autodesk.fbx',
|
||||
'fcdt' => 'application/vnd.adobe.formscentral.fcdt',
|
||||
'fcs' => 'application/vnd.isac.fcs',
|
||||
'fdf' => 'application/vnd.fdf',
|
||||
@@ -339,18 +349,22 @@ class GeneratedExtensionToMimeTypeMap implements ExtensionToMimeTypeMap, Extensi
|
||||
'gca' => 'application/x-gca-compressed',
|
||||
'gdl' => 'model/vnd.gdl',
|
||||
'gdoc' => 'application/vnd.google-apps.document',
|
||||
'gdraw' => 'application/vnd.google-apps.drawing',
|
||||
'ged' => 'text/vnd.familysearch.gedcom',
|
||||
'geo' => 'application/vnd.dynageo',
|
||||
'geojson' => 'application/geo+json',
|
||||
'gex' => 'application/vnd.geometry-explorer',
|
||||
'gform' => 'application/vnd.google-apps.form',
|
||||
'ggb' => 'application/vnd.geogebra.file',
|
||||
'ggs' => 'application/vnd.geogebra.slides',
|
||||
'ggt' => 'application/vnd.geogebra.tool',
|
||||
'ghf' => 'application/vnd.groove-help',
|
||||
'gif' => 'image/gif',
|
||||
'gim' => 'application/vnd.groove-identity-message',
|
||||
'gjam' => 'application/vnd.google-apps.jam',
|
||||
'glb' => 'model/gltf-binary',
|
||||
'gltf' => 'model/gltf+json',
|
||||
'gmap' => 'application/vnd.google-apps.map',
|
||||
'gml' => 'application/gml+xml',
|
||||
'gmx' => 'application/vnd.gmx',
|
||||
'gnumeric' => 'application/x-gnumeric',
|
||||
@@ -364,8 +378,10 @@ class GeneratedExtensionToMimeTypeMap implements ExtensionToMimeTypeMap, Extensi
|
||||
'gre' => 'application/vnd.geometry-explorer',
|
||||
'grv' => 'application/vnd.groove-injector',
|
||||
'grxml' => 'application/srgs+xml',
|
||||
'gscript' => 'application/vnd.google-apps.script',
|
||||
'gsf' => 'application/x-font-ghostscript',
|
||||
'gsheet' => 'application/vnd.google-apps.spreadsheet',
|
||||
'gsite' => 'application/vnd.google-apps.site',
|
||||
'gslides' => 'application/vnd.google-apps.presentation',
|
||||
'gtar' => 'application/x-gtar',
|
||||
'gtm' => 'application/vnd.groove-tool-message',
|
||||
@@ -397,7 +413,6 @@ class GeneratedExtensionToMimeTypeMap implements ExtensionToMimeTypeMap, Extensi
|
||||
'hpid' => 'application/vnd.hp-hpid',
|
||||
'hps' => 'application/vnd.hp-hps',
|
||||
'hqx' => 'application/mac-binhex40',
|
||||
'hsj2' => 'image/hsj2',
|
||||
'htc' => 'text/x-component',
|
||||
'htke' => 'application/vnd.kenameaapp',
|
||||
'htm' => 'text/html',
|
||||
@@ -424,6 +439,7 @@ class GeneratedExtensionToMimeTypeMap implements ExtensionToMimeTypeMap, Extensi
|
||||
'imp' => 'application/vnd.accpac.simply.imp',
|
||||
'ims' => 'application/vnd.ms-ims',
|
||||
'in' => 'text/plain',
|
||||
'indd' => 'application/x-indesign',
|
||||
'ini' => 'text/plain',
|
||||
'ink' => 'application/inkml+xml',
|
||||
'inkml' => 'application/inkml+xml',
|
||||
@@ -431,6 +447,7 @@ class GeneratedExtensionToMimeTypeMap implements ExtensionToMimeTypeMap, Extensi
|
||||
'iota' => 'application/vnd.astraea-software.iota',
|
||||
'ipfix' => 'application/ipfix',
|
||||
'ipk' => 'application/vnd.shana.informed.package',
|
||||
'ipynb' => 'application/x-ipynb+json',
|
||||
'irm' => 'application/vnd.ibm.rights-management',
|
||||
'irp' => 'application/vnd.irepository.package+xml',
|
||||
'iso' => 'application/x-iso9660-image',
|
||||
@@ -440,10 +457,13 @@ class GeneratedExtensionToMimeTypeMap implements ExtensionToMimeTypeMap, Extensi
|
||||
'ivu' => 'application/vnd.immervision-ivu',
|
||||
'jad' => 'text/vnd.sun.j2me.app-descriptor',
|
||||
'jade' => 'text/jade',
|
||||
'jaii' => 'image/jaii',
|
||||
'jais' => 'image/jais',
|
||||
'jam' => 'application/vnd.jam',
|
||||
'jar' => 'application/java-archive',
|
||||
'jardiff' => 'application/x-java-archive-diff',
|
||||
'java' => 'text/x-java-source',
|
||||
'jfif' => 'image/jpeg',
|
||||
'jhc' => 'image/jphc',
|
||||
'jisp' => 'application/vnd.jisp',
|
||||
'jls' => 'image/jls',
|
||||
@@ -479,6 +499,7 @@ class GeneratedExtensionToMimeTypeMap implements ExtensionToMimeTypeMap, Extensi
|
||||
'jxss' => 'image/jxss',
|
||||
'kar' => 'audio/midi',
|
||||
'karbon' => 'application/vnd.kde.karbon',
|
||||
'kbl' => 'application/kbl+xml',
|
||||
'kdb' => 'application/octet-stream',
|
||||
'kdbx' => 'application/x-keepass2',
|
||||
'key' => 'application/x-iwork-keynote-sffkey',
|
||||
@@ -515,6 +536,7 @@ class GeneratedExtensionToMimeTypeMap implements ExtensionToMimeTypeMap, Extensi
|
||||
'lnk' => 'application/x-ms-shortcut',
|
||||
'log' => 'text/plain',
|
||||
'lostxml' => 'application/lost+xml',
|
||||
'lottie' => 'application/zip+dotlottie',
|
||||
'lrf' => 'application/octet-stream',
|
||||
'lrm' => 'application/vnd.ms-lrm',
|
||||
'ltf' => 'application/vnd.frogans.ltf',
|
||||
@@ -532,6 +554,7 @@ class GeneratedExtensionToMimeTypeMap implements ExtensionToMimeTypeMap, Extensi
|
||||
'm3u' => 'text/plain',
|
||||
'm3u8' => 'application/vnd.apple.mpegurl',
|
||||
'm4a' => 'audio/x-m4a',
|
||||
'm4b' => 'audio/mp4',
|
||||
'm4p' => 'application/mp4',
|
||||
'm4s' => 'video/iso.segment',
|
||||
'm4u' => 'application/vnd.mpegurl',
|
||||
@@ -569,6 +592,8 @@ class GeneratedExtensionToMimeTypeMap implements ExtensionToMimeTypeMap, Extensi
|
||||
'mft' => 'application/rpki-manifest',
|
||||
'mgp' => 'application/vnd.osgeo.mapguide.package',
|
||||
'mgz' => 'application/vnd.proteus.magazine',
|
||||
'mht' => 'message/rfc822',
|
||||
'mhtml' => 'message/rfc822',
|
||||
'mid' => 'audio/midi',
|
||||
'midi' => 'audio/midi',
|
||||
'mie' => 'application/x-mie',
|
||||
@@ -692,6 +717,8 @@ class GeneratedExtensionToMimeTypeMap implements ExtensionToMimeTypeMap, Extensi
|
||||
'ogv' => 'video/ogg',
|
||||
'ogx' => 'application/ogg',
|
||||
'omdoc' => 'application/omdoc+xml',
|
||||
'one' => 'application/onenote',
|
||||
'onea' => 'application/onenote',
|
||||
'onepkg' => 'application/onenote',
|
||||
'onetmp' => 'application/onenote',
|
||||
'onetoc' => 'application/onenote',
|
||||
@@ -727,8 +754,10 @@ class GeneratedExtensionToMimeTypeMap implements ExtensionToMimeTypeMap, Extensi
|
||||
'p8' => 'application/pkcs8',
|
||||
'p10' => 'application/x-pkcs10',
|
||||
'p12' => 'application/x-pkcs12',
|
||||
'p21' => 'model/step',
|
||||
'pac' => 'application/x-ns-proxy-autoconfig',
|
||||
'pages' => 'application/x-iwork-pages-sffpages',
|
||||
'parquet' => 'application/vnd.apache.parquet',
|
||||
'pas' => 'text/x-pascal',
|
||||
'paw' => 'application/vnd.pawaafile',
|
||||
'pbd' => 'application/vnd.powerbuilder6',
|
||||
@@ -942,6 +971,8 @@ class GeneratedExtensionToMimeTypeMap implements ExtensionToMimeTypeMap, Extensi
|
||||
'spq' => 'application/scvp-vp-request',
|
||||
'spx' => 'audio/ogg',
|
||||
'sql' => 'application/x-sql',
|
||||
'sqlite' => 'application/vnd.sqlite3',
|
||||
'sqlite3' => 'application/vnd.sqlite3',
|
||||
'src' => 'application/x-wais-source',
|
||||
'srt' => 'application/x-subrip',
|
||||
'sru' => 'application/sru+xml',
|
||||
@@ -960,6 +991,7 @@ class GeneratedExtensionToMimeTypeMap implements ExtensionToMimeTypeMap, Extensi
|
||||
'stk' => 'application/hyperstudio',
|
||||
'stl' => 'model/stl',
|
||||
'stp' => 'application/STEP',
|
||||
'stpnc' => 'model/step',
|
||||
'stpx' => 'model/step+xml',
|
||||
'stpxz' => 'model/step-xml+zip',
|
||||
'stpz' => 'model/step+zip',
|
||||
@@ -986,6 +1018,7 @@ class GeneratedExtensionToMimeTypeMap implements ExtensionToMimeTypeMap, Extensi
|
||||
'sxi' => 'application/vnd.sun.xml.impress',
|
||||
'sxm' => 'application/vnd.sun.xml.math',
|
||||
'sxw' => 'application/vnd.sun.xml.writer',
|
||||
'systemverify' => 'application/vnd.pp.systemverify+xml',
|
||||
't' => 'text/troff',
|
||||
't3' => 'application/x-t3vm-image',
|
||||
't38' => 'image/t38',
|
||||
@@ -1094,6 +1127,8 @@ class GeneratedExtensionToMimeTypeMap implements ExtensionToMimeTypeMap, Extensi
|
||||
'vcx' => 'application/vnd.vcx',
|
||||
'vdi' => 'application/x-virtualbox-vdi',
|
||||
'vds' => 'model/vnd.sap.vds',
|
||||
'vdx' => 'application/vnd.ms-visio.viewer',
|
||||
'vec' => 'application/vec+xml',
|
||||
'vhd' => 'application/x-virtualbox-vhd',
|
||||
'vis' => 'application/vnd.visionary',
|
||||
'viv' => 'video/vnd.vivo',
|
||||
@@ -1104,6 +1139,7 @@ class GeneratedExtensionToMimeTypeMap implements ExtensionToMimeTypeMap, Extensi
|
||||
'vox' => 'application/x-authorware-bin',
|
||||
'vrml' => 'model/vrml',
|
||||
'vsd' => 'application/vnd.visio',
|
||||
'vsdx' => 'application/vnd.visio',
|
||||
'vsf' => 'application/vnd.vsf',
|
||||
'vss' => 'application/vnd.visio',
|
||||
'vst' => 'application/vnd.visio',
|
||||
@@ -1111,6 +1147,7 @@ class GeneratedExtensionToMimeTypeMap implements ExtensionToMimeTypeMap, Extensi
|
||||
'vtf' => 'image/vnd.valve.source.texture',
|
||||
'vtt' => 'text/vtt',
|
||||
'vtu' => 'model/vnd.vtu',
|
||||
'vtx' => 'application/vnd.visio',
|
||||
'vxml' => 'application/voicexml+xml',
|
||||
'w3d' => 'application/x-director',
|
||||
'wad' => 'application/x-doom',
|
||||
@@ -1289,6 +1326,7 @@ class GeneratedExtensionToMimeTypeMap implements ExtensionToMimeTypeMap, Extensi
|
||||
'application/dash+xml' => ['mpd'],
|
||||
'application/dash-patch+xml' => ['mpp'],
|
||||
'application/davmount+xml' => ['davmount'],
|
||||
'application/dicom' => ['dcm'],
|
||||
'application/docbook+xml' => ['dbk'],
|
||||
'application/dssc+der' => ['dssc'],
|
||||
'application/dssc+xml' => ['xdssc'],
|
||||
@@ -1318,6 +1356,7 @@ class GeneratedExtensionToMimeTypeMap implements ExtensionToMimeTypeMap, Extensi
|
||||
'application/json' => ['json', 'map'],
|
||||
'application/json5' => ['json5'],
|
||||
'application/jsonml+json' => ['jsonml'],
|
||||
'application/kbl+xml' => ['kbl'],
|
||||
'application/ld+json' => ['jsonld'],
|
||||
'application/lgr+xml' => ['lgr'],
|
||||
'application/lost+xml' => ['lostxml'],
|
||||
@@ -1352,11 +1391,11 @@ class GeneratedExtensionToMimeTypeMap implements ExtensionToMimeTypeMap, Extensi
|
||||
'application/oebps-package+xml' => ['opf'],
|
||||
'application/ogg' => ['ogx'],
|
||||
'application/omdoc+xml' => ['omdoc'],
|
||||
'application/onenote' => ['onetoc', 'onetoc2', 'onetmp', 'onepkg'],
|
||||
'application/onenote' => ['onetoc', 'onetoc2', 'onetmp', 'onepkg', 'one', 'onea'],
|
||||
'application/oxps' => ['oxps'],
|
||||
'application/p2p-overlay+xml' => ['relo'],
|
||||
'application/patch-ops-error+xml' => ['xer'],
|
||||
'application/pdf' => ['pdf', 'ai'],
|
||||
'application/pdf' => ['pdf'],
|
||||
'application/pgp-encrypted' => ['pgp'],
|
||||
'application/pgp-keys' => ['asc'],
|
||||
'application/pgp-signature' => ['sig', 'asc'],
|
||||
@@ -1423,6 +1462,7 @@ class GeneratedExtensionToMimeTypeMap implements ExtensionToMimeTypeMap, Extensi
|
||||
'application/ubjson' => ['ubj'],
|
||||
'application/urc-ressheet+xml' => ['rsheet'],
|
||||
'application/urc-targetdesc+xml' => ['td'],
|
||||
'application/vec+xml' => ['vec'],
|
||||
'application/vnd.1000minds.decision-model+xml' => ['1km'],
|
||||
'application/vnd.3gpp.pic-bw-large' => ['plb'],
|
||||
'application/vnd.3gpp.pic-bw-small' => ['psb'],
|
||||
@@ -1449,6 +1489,7 @@ class GeneratedExtensionToMimeTypeMap implements ExtensionToMimeTypeMap, Extensi
|
||||
'application/vnd.anser-web-certificate-issue-initiation' => ['cii'],
|
||||
'application/vnd.anser-web-funds-transfer-initiation' => ['fti'],
|
||||
'application/vnd.antix.game-component' => ['atx'],
|
||||
'application/vnd.apache.parquet' => ['parquet'],
|
||||
'application/vnd.apple.installer+xml' => ['mpkg'],
|
||||
'application/vnd.apple.keynote' => ['key'],
|
||||
'application/vnd.apple.mpegurl' => ['m3u8'],
|
||||
@@ -1458,6 +1499,7 @@ class GeneratedExtensionToMimeTypeMap implements ExtensionToMimeTypeMap, Extensi
|
||||
'application/vnd.aristanetworks.swi' => ['swi'],
|
||||
'application/vnd.astraea-software.iota' => ['iota'],
|
||||
'application/vnd.audiograph' => ['aep'],
|
||||
'application/vnd.autodesk.fbx' => ['fbx'],
|
||||
'application/vnd.balsamiq.bmml+xml' => ['bmml'],
|
||||
'application/vnd.blueice.multipass' => ['mpm'],
|
||||
'application/vnd.bmi' => ['bmi'],
|
||||
@@ -1487,6 +1529,7 @@ class GeneratedExtensionToMimeTypeMap implements ExtensionToMimeTypeMap, Extensi
|
||||
'application/vnd.dart' => ['dart'],
|
||||
'application/vnd.data-vision.rdz' => ['rdz'],
|
||||
'application/vnd.dbf' => ['dbf'],
|
||||
'application/vnd.dcmp+xml' => ['dcmp'],
|
||||
'application/vnd.dece.data' => ['uvf', 'uvvf', 'uvd', 'uvvd'],
|
||||
'application/vnd.dece.ttml+xml' => ['uvt', 'uvvt'],
|
||||
'application/vnd.dece.unspecified' => ['uvx', 'uvvx'],
|
||||
@@ -1538,7 +1581,13 @@ class GeneratedExtensionToMimeTypeMap implements ExtensionToMimeTypeMap, Extensi
|
||||
'application/vnd.geospace' => ['g3w'],
|
||||
'application/vnd.gmx' => ['gmx'],
|
||||
'application/vnd.google-apps.document' => ['gdoc'],
|
||||
'application/vnd.google-apps.drawing' => ['gdraw'],
|
||||
'application/vnd.google-apps.form' => ['gform'],
|
||||
'application/vnd.google-apps.jam' => ['gjam'],
|
||||
'application/vnd.google-apps.map' => ['gmap'],
|
||||
'application/vnd.google-apps.presentation' => ['gslides'],
|
||||
'application/vnd.google-apps.script' => ['gscript'],
|
||||
'application/vnd.google-apps.site' => ['gsite'],
|
||||
'application/vnd.google-apps.spreadsheet' => ['gsheet'],
|
||||
'application/vnd.google-earth.kml+xml' => ['kml'],
|
||||
'application/vnd.google-earth.kmz' => ['kmz'],
|
||||
@@ -1649,6 +1698,7 @@ class GeneratedExtensionToMimeTypeMap implements ExtensionToMimeTypeMap, Extensi
|
||||
'application/vnd.ms-powerpoint.slideshow.macroenabled.12' => ['ppsm'],
|
||||
'application/vnd.ms-powerpoint.template.macroenabled.12' => ['potm'],
|
||||
'application/vnd.ms-project' => ['mpp', 'mpt'],
|
||||
'application/vnd.ms-visio.viewer' => ['vdx'],
|
||||
'application/vnd.ms-word.document.macroenabled.12' => ['docm'],
|
||||
'application/vnd.ms-word.template.macroenabled.12' => ['dotm'],
|
||||
'application/vnd.ms-works' => ['wps', 'wks', 'wcm', 'wdb'],
|
||||
@@ -1713,7 +1763,11 @@ class GeneratedExtensionToMimeTypeMap implements ExtensionToMimeTypeMap, Extensi
|
||||
'application/vnd.pmi.widget' => ['wg'],
|
||||
'application/vnd.pocketlearn' => ['plf'],
|
||||
'application/vnd.powerbuilder6' => ['pbd'],
|
||||
'application/vnd.pp.systemverify+xml' => ['systemverify'],
|
||||
'application/vnd.previewsystems.box' => ['box'],
|
||||
'application/vnd.procreate.brush' => ['brush'],
|
||||
'application/vnd.procreate.brushset' => ['brushset'],
|
||||
'application/vnd.procreate.dream' => ['drm'],
|
||||
'application/vnd.proteus.magazine' => ['mgz'],
|
||||
'application/vnd.publishare-delta-tree' => ['qps'],
|
||||
'application/vnd.pvi.ptid1' => ['ptid'],
|
||||
@@ -1744,6 +1798,7 @@ class GeneratedExtensionToMimeTypeMap implements ExtensionToMimeTypeMap, Extensi
|
||||
'application/vnd.solent.sdkm+xml' => ['sdkm', 'sdkd'],
|
||||
'application/vnd.spotfire.dxp' => ['dxp'],
|
||||
'application/vnd.spotfire.sfs' => ['sfs'],
|
||||
'application/vnd.sqlite3' => ['sqlite', 'sqlite3'],
|
||||
'application/vnd.stardivision.calc' => ['sdc'],
|
||||
'application/vnd.stardivision.draw' => ['sda'],
|
||||
'application/vnd.stardivision.impress' => ['sdd'],
|
||||
@@ -1782,7 +1837,7 @@ class GeneratedExtensionToMimeTypeMap implements ExtensionToMimeTypeMap, Extensi
|
||||
'application/vnd.unity' => ['unityweb'],
|
||||
'application/vnd.uoml+xml' => ['uoml', 'uo'],
|
||||
'application/vnd.vcx' => ['vcx'],
|
||||
'application/vnd.visio' => ['vsd', 'vst', 'vss', 'vsw'],
|
||||
'application/vnd.visio' => ['vsd', 'vst', 'vss', 'vsw', 'vsdx', 'vtx'],
|
||||
'application/vnd.visionary' => ['vis'],
|
||||
'application/vnd.vsf' => ['vsf'],
|
||||
'application/vnd.wap.wbxml' => ['wbxml'],
|
||||
@@ -1823,6 +1878,7 @@ class GeneratedExtensionToMimeTypeMap implements ExtensionToMimeTypeMap, Extensi
|
||||
'application/x-bcpio' => ['bcpio'],
|
||||
'application/x-bdoc' => ['bdoc'],
|
||||
'application/x-bittorrent' => ['torrent'],
|
||||
'application/x-blender' => ['blend'],
|
||||
'application/x-blorb' => ['blb', 'blorb'],
|
||||
'application/x-bzip' => ['bz'],
|
||||
'application/x-bzip2' => ['bz2', 'boz'],
|
||||
@@ -1833,6 +1889,7 @@ class GeneratedExtensionToMimeTypeMap implements ExtensionToMimeTypeMap, Extensi
|
||||
'application/x-chess-pgn' => ['pgn'],
|
||||
'application/x-chrome-extension' => ['crx'],
|
||||
'application/x-cocoa' => ['cco'],
|
||||
'application/x-compressed' => ['rar'],
|
||||
'application/x-conference' => ['nsc'],
|
||||
'application/x-cpio' => ['cpio'],
|
||||
'application/x-csh' => ['csh'],
|
||||
@@ -1862,6 +1919,7 @@ class GeneratedExtensionToMimeTypeMap implements ExtensionToMimeTypeMap, Extensi
|
||||
'application/x-hdf' => ['hdf'],
|
||||
'application/x-httpd-php' => ['php', 'php4', 'php3', 'phtml'],
|
||||
'application/x-install-instructions' => ['install'],
|
||||
'application/x-ipynb+json' => ['ipynb'],
|
||||
'application/x-iso9660-image' => ['iso'],
|
||||
'application/x-iwork-keynote-sffkey' => ['key'],
|
||||
'application/x-iwork-numbers-sffnumbers' => ['numbers'],
|
||||
@@ -1939,6 +1997,7 @@ class GeneratedExtensionToMimeTypeMap implements ExtensionToMimeTypeMap, Extensi
|
||||
'application/x-xliff+xml' => ['xlf'],
|
||||
'application/x-xpinstall' => ['xpi'],
|
||||
'application/x-xz' => ['xz'],
|
||||
'application/x-zip-compressed' => ['zip'],
|
||||
'application/x-zmachine' => ['z1', 'z2', 'z3', 'z4', 'z5', 'z6', 'z7', 'z8'],
|
||||
'application/xaml+xml' => ['xaml'],
|
||||
'application/xcap-att+xml' => ['xav'],
|
||||
@@ -1960,15 +2019,17 @@ class GeneratedExtensionToMimeTypeMap implements ExtensionToMimeTypeMap, Extensi
|
||||
'application/yang' => ['yang'],
|
||||
'application/yin+xml' => ['yin'],
|
||||
'application/zip' => ['zip'],
|
||||
'application/zip+dotlottie' => ['lottie'],
|
||||
'audio/3gpp' => ['3gpp'],
|
||||
'audio/aac' => ['adts', 'aac'],
|
||||
'audio/adpcm' => ['adp'],
|
||||
'audio/amr' => ['amr'],
|
||||
'audio/basic' => ['au', 'snd'],
|
||||
'audio/matroska' => ['mka'],
|
||||
'audio/midi' => ['mid', 'midi', 'kar', 'rmi'],
|
||||
'audio/mobile-xmf' => ['mxmf'],
|
||||
'audio/mp3' => ['mp3'],
|
||||
'audio/mp4' => ['m4a', 'mp4a'],
|
||||
'audio/mp4' => ['m4a', 'mp4a', 'm4b'],
|
||||
'audio/mpeg' => ['mpga', 'mp2', 'mp2a', 'mp3', 'm2a', 'm3a'],
|
||||
'audio/ogg' => ['oga', 'ogg', 'spx', 'opus'],
|
||||
'audio/s3m' => ['s3m'],
|
||||
@@ -2030,11 +2091,12 @@ class GeneratedExtensionToMimeTypeMap implements ExtensionToMimeTypeMap, Extensi
|
||||
'image/heif' => ['heif'],
|
||||
'image/heif-sequence' => ['heifs'],
|
||||
'image/hej2k' => ['hej2'],
|
||||
'image/hsj2' => ['hsj2'],
|
||||
'image/ief' => ['ief'],
|
||||
'image/jaii' => ['jaii'],
|
||||
'image/jais' => ['jais'],
|
||||
'image/jls' => ['jls'],
|
||||
'image/jp2' => ['jp2', 'jpg2'],
|
||||
'image/jpeg' => ['jpeg', 'jpg', 'jpe'],
|
||||
'image/jpeg' => ['jpg', 'jpeg', 'jpe', 'jfif'],
|
||||
'image/jph' => ['jph'],
|
||||
'image/jphc' => ['jhc'],
|
||||
'image/jpm' => ['jpm', 'jpgm'],
|
||||
@@ -2049,6 +2111,7 @@ class GeneratedExtensionToMimeTypeMap implements ExtensionToMimeTypeMap, Extensi
|
||||
'image/jxss' => ['jxss'],
|
||||
'image/ktx' => ['ktx'],
|
||||
'image/ktx2' => ['ktx2'],
|
||||
'image/pjpeg' => ['jfif'],
|
||||
'image/png' => ['png'],
|
||||
'image/prs.btif' => ['btif', 'btf'],
|
||||
'image/prs.pti' => ['pti'],
|
||||
@@ -2059,6 +2122,7 @@ class GeneratedExtensionToMimeTypeMap implements ExtensionToMimeTypeMap, Extensi
|
||||
'image/tiff-fx' => ['tfx'],
|
||||
'image/vnd.adobe.photoshop' => ['psd'],
|
||||
'image/vnd.airzip.accelerator.azv' => ['azv'],
|
||||
'image/vnd.blockfact.facti' => ['facti'],
|
||||
'image/vnd.dece.graphic' => ['uvi', 'uvvi', 'uvg', 'uvvg'],
|
||||
'image/vnd.djvu' => ['djvu', 'djv'],
|
||||
'image/vnd.dvb.subtitle' => ['sub'],
|
||||
@@ -2083,6 +2147,7 @@ class GeneratedExtensionToMimeTypeMap implements ExtensionToMimeTypeMap, Extensi
|
||||
'image/webp' => ['webp'],
|
||||
'image/wmf' => ['wmf'],
|
||||
'image/x-3ds' => ['3ds'],
|
||||
'image/x-adobe-dng' => ['dng'],
|
||||
'image/x-cmu-raster' => ['ras'],
|
||||
'image/x-cmx' => ['cmx'],
|
||||
'image/x-freehand' => ['fh', 'fhc', 'fh4', 'fh5', 'fh7'],
|
||||
@@ -2106,7 +2171,7 @@ class GeneratedExtensionToMimeTypeMap implements ExtensionToMimeTypeMap, Extensi
|
||||
'message/global-delivery-status' => ['u8dsn'],
|
||||
'message/global-disposition-notification' => ['u8mdn'],
|
||||
'message/global-headers' => ['u8hdr'],
|
||||
'message/rfc822' => ['eml', 'mime'],
|
||||
'message/rfc822' => ['eml', 'mime', 'mht', 'mhtml'],
|
||||
'message/vnd.wfa.wsc' => ['wsc'],
|
||||
'model/3mf' => ['3mf'],
|
||||
'model/gltf+json' => ['gltf'],
|
||||
@@ -2117,6 +2182,7 @@ class GeneratedExtensionToMimeTypeMap implements ExtensionToMimeTypeMap, Extensi
|
||||
'model/mtl' => ['mtl'],
|
||||
'model/obj' => ['obj'],
|
||||
'model/prc' => ['prc'],
|
||||
'model/step' => ['step', 'stp', 'stpnc', 'p21', '210'],
|
||||
'model/step+xml' => ['stpx'],
|
||||
'model/step+zip' => ['stpz'],
|
||||
'model/step-xml+zip' => ['stpxz'],
|
||||
@@ -2200,6 +2266,7 @@ class GeneratedExtensionToMimeTypeMap implements ExtensionToMimeTypeMap, Extensi
|
||||
'text/x-opml' => ['opml'],
|
||||
'text/x-org' => ['org'],
|
||||
'text/x-pascal' => ['p', 'pas'],
|
||||
'text/x-php' => ['php'],
|
||||
'text/x-processing' => ['pde'],
|
||||
'text/x-sass' => ['sass'],
|
||||
'text/x-scss' => ['scss'],
|
||||
@@ -2219,6 +2286,8 @@ class GeneratedExtensionToMimeTypeMap implements ExtensionToMimeTypeMap, Extensi
|
||||
'video/iso.segment' => ['m4s'],
|
||||
'video/jpeg' => ['jpgv'],
|
||||
'video/jpm' => ['jpm', 'jpgm'],
|
||||
'video/matroska' => ['mkv'],
|
||||
'video/matroska-3d' => ['mk3d'],
|
||||
'video/mj2' => ['mj2', 'mjp2'],
|
||||
'video/mp2t' => ['ts', 'm2t', 'm2ts', 'mts'],
|
||||
'video/mp4' => ['mp4', 'mp4v', 'mpg4', 'f4v'],
|
||||
@@ -2254,6 +2323,8 @@ class GeneratedExtensionToMimeTypeMap implements ExtensionToMimeTypeMap, Extensi
|
||||
'video/x-smv' => ['smv'],
|
||||
'x-conference/x-cooltalk' => ['ice'],
|
||||
'application/x-photoshop' => ['psd'],
|
||||
'application/x-indesign' => ['indd'],
|
||||
'application/illustrator' => ['ai'],
|
||||
'application/smil' => ['smi', 'smil'],
|
||||
'application/powerpoint' => ['ppt'],
|
||||
'application/vnd.ms-powerpoint.addin.macroEnabled.12' => ['ppam'],
|
||||
|
||||
Reference in New Issue
Block a user