karelwintersky/arris.toolkit.mimetypes

通过 MIME 类型解析扩展名,反之亦然

1.99.0 2024-07-22 18:06 UTC

This package is auto-updated.

Last update: 2024-09-22 18:32:28 UTC


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 许可证 的条款下使用。