mvccore / ext-tool-mimetype-extension
MvcCore 扩展 - 工具 - MIME 类型 & 扩展 - 从文件扩展名字符串获取文件 MIME 类型字符串数组或从文件 MIME 类型字符串获取文件扩展名字符串数组的扩展。
v5.0.0
2021-01-18 13:42 UTC
Requires
- php: >=5.4.0
This package is auto-updated.
Last update: 2024-09-17 18:48:29 UTC
README
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 个来源加载
- IANA (http://www.iana.org/assignments/media-types/media-types.xhtml)
- APACHE (http://svn.apache.org/repos/asf/httpd/httpd/trunk/docs/conf/mime.types)
- NGINX (http://hg.nginx.org/nginx/raw-file/default/conf/mime.types)
./custom-mimes.json中的自定义定义
用法
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