mvccore/ext-tool-mimetype-extension

MvcCore 扩展 - 工具 - MIME 类型 & 扩展 - 从文件扩展名字符串获取文件 MIME 类型字符串数组或从文件 MIME 类型字符串获取文件扩展名字符串数组的扩展。

v5.0.0 2021-01-18 13:42 UTC

This package is auto-updated.

Last update: 2024-09-17 18:48:29 UTC


README

Latest Stable Version License PHP Version

MvcCore 扩展用于获取

  • 从文件扩展名字符串的 MIME 类型字符串数组
  • 从文件 MIME 类型字符串的扩展名字符串数组

此扩展不使用 PHP mime_content_type() 函数。
为了识别上传的文件是通过魔字节识别的 MIME 类型,使用 PHP finfo 扩展的表单控件(input:file 验证器)本身。
此扩展仅包含 MIME 类型列表和扩展,以便在识别魔字节后正确决定哪些文件扩展名最终可以存储在服务器 HDD 上。

安装

composer require mvccore/ext-tool-mimetype-extension

MIME 类型与扩展来源

所有 MIME 类型与扩展的数据库由 Node.JS 项目 jshttp/mime-db 从 4 个来源加载

用法

use \MvcCore\Ext\Tools;

$mimeTypes = Tools\MimeTypesExtensions::GetMimeTypesByExtension('dmg');
// ['application/x-apple-diskimage', 'application/octet-stream']
var_dump($mimeTypes);

$mimeTypes = Tools\MimeTypesExtensions::GetMimeTypesByExtension('madness');
// NULL - means no data for given extension
var_dump($mimeTypes);

$extensions = Tools\MimeTypesExtensions::GetExtensionsByMimeType('application/msword');
// ['doc','dot'] - means mimetype `application/msword` could have two different extensions
var_dump($extensions);

$extensions = Tools\MimeTypesExtensions::GetExtensionsByMimeType('video/bmpeg');
// [''] - means file type is defined as file always without any extension
var_dump($extensions);

$extensions = Tools\MimeTypesExtensions::GetExtensionsByMimeType('something/crazy');
// NULL - means no data for given mimetype
var_dump($extensions);

构建新版本

sh scripts/build.sh
# scripts/build.bat

测试

sh scripts/test.sh
# scripts/test.bat