karelwintersky / arris.toolkit.mimetypes
通过 MIME 类型解析扩展名,反之亦然
1.99.0
2024-07-22 18:06 UTC
Requires
- php: >=7.2 || ^8.0
Requires (Dev)
- php-coveralls/php-coveralls: ^1.1
- phpunit/phpunit: 9.*
README
PHP 包,用于将文件扩展名转换为 MIME 类型,反之亦然。
使用文件 MIME 内容类型,该类型通过使用 magic.mime
文件中的信息来确定。
MIME 类型
创建一个包含详细的文件扩展名 => MIME 类型的 JSON 文档,这些信息由 Apache httpd 项目 提供。
如何更新?
步骤 1
将 Apache mime-types
文件的最新副本下载到与 generate
脚本相同的目录
make update
或者
wget --no-check-certificate https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x/docs/conf/mime.types -O ./tools/mime.types
步骤 2(可选)
更新提供的 mime.types.custom
。此文件与 mime.types
具有相同的格式,但此文件中的映射具有优先权。
使用任何要定义的额外 mimetypes 或您想要覆盖的 mimetypes 更新提供的 customize.json
文档。
步骤 3
运行 generate
脚本
make build
最后,将生成一个 mimetypes.json
文档。此 JSON 文档可以很容易地被几乎任何编程语言解析为映射/字典/关联数组。
如果您想在 PHP 中使用这些数据,它还会生成一个支持 PHP 的辅助类。
步骤 4
make test
步骤 5
更新存储库(提交、推送、拉取请求)
安装
使用 Composer 安装
如果您使用 Composer 来管理依赖项,您可以使用它添加 mimetypes。
{ "require": { "karelwintersky/arris.toolkit.mimetypes": ">=1.0" } }
或者
composer require karelwintersky/arris.toolkit.mimetypes
用法
并在您的脚本中使用它
use Arris\Toolkit; $ext = MimeTypes::getExtension('application/json'); // => .json $type = MimeTypes::fromExtension('.json'); // 'application/json'
注意
'fallback' 函数 mime_content_type()
返回相同的数据。
许可 & 版权
原始想法:2010-2013 Ryan Parman。
重构:2023 Karel Wintersky
移除了不必要的 Twig 模板引擎和 dflydev/apache-mime-types
(存储库加载/映射)
在 MIT 许可证 的条款下使用。