bitworking/mimeparse

处理MIME类型的基函数。

2.2.0 2016-02-09 18:45 UTC

This package is auto-updated.

Last update: 2024-08-29 03:47:33 UTC


README

Source Code Latest Version Software License Build Status Scrutinizer Coverage Status Total Downloads

这个库提供了解析MIME类型名称并与之匹配媒体范围列表的基本功能。请参阅RFC 7231 (HTTP语义和内容规范)第5.3.2节以获得完整解释。更多关于该库的信息可以在XML.com文章 "仅使用媒体类型?"中找到。

这个库是从原始的mimeparse库在Google Project Hosting上获得的,已经被清理以符合PSR-1PSR-2PSR-4标准。它现在还支持Composer。Bitworking命名空间是对Joe Gregorio,该库的原始作者的致敬。

安装

首选的安装方法是使用PackagistComposer。运行以下命令来安装包并将它添加到项目的composer.json中的要求:

composer require bitworking/mimeparse

示例

使用Mimeparse指定应用程序支持的媒体类型列表,并将其与用户代理接受的媒体类型列表(通过HTTP Accept头)进行比较;Mimeparse将给出与您的支持类型列表最佳匹配的返回给用户代理,如果没有最佳匹配则返回null

<?php
$supportedTypes = array('application/xbel+xml', 'text/xml');
$httpAcceptHeader = 'text/*;q=0.5,*/*; q=0.1';

$mimeType = \Bitworking\Mimeparse::bestMatch($supportedTypes, $httpAcceptHeader);

echo $mimeType; // Should echo "text/xml"

您还可以使用Mimeparse在将特定媒体类型与媒体类型范围(例如Accept头)进行比较时获取其质量值。

<?php
$httpAcceptHeader = 'text/*;q=0.3, text/html;q=0.7, text/html;level=1, text/html;level=2;q=0.4, *\/*;q=0.5';

$quality = \Bitworking\Mimeparse::quality('text/html', $httpAcceptHeader);

echo $quality; // Should echo 0.7

贡献

欢迎贡献!请阅读CONTRIBUTING以获取详细信息。

版权和许可证

原始的mimeparse库版权所有© Joe Gregorio。PHP的bitworking/mimeparse库版权所有© Ben Ramsey。两位作者都已许可源代码在MIT许可证(MIT)下使用。有关更多信息,请参阅LICENSE