Php PSR-7响应,获取文件mime类型

Php PSR-7响应,获取文件mime类型,php,http,http-headers,mime-types,psr-7,Php,Http,Http Headers,Mime Types,Psr 7,我有一个$response变量,它实现了Psr\Http\Message\ResponseInterface 它包含有关下载文件的信息。如何获取此文件的mime类型?由于ResponseInterface扩展了MessageInterface,因此可以使用or方法检索内容类型响应头的值。例如 $mimeType = $response->getHeaderLine('Content-Type'); 注意:我使用了getHeaderLine,因为内容类型标题不太可能包含多个值,这将使您不必

我有一个
$response
变量,它实现了
Psr\Http\Message\ResponseInterface


它包含有关下载文件的信息。如何获取此文件的mime类型?

由于
ResponseInterface
扩展了
MessageInterface
,因此可以使用or方法检索
内容类型
响应头的值。例如

$mimeType = $response->getHeaderLine('Content-Type');

注意:我使用了
getHeaderLine
,因为
内容类型
标题不太可能包含多个值,这将使您不必将返回值视为单个项目数组。

因为
响应界面
扩展了
消息接口
,您可以使用or方法检索
内容类型
响应标题的值。例如

$mimeType = $response->getHeaderLine('Content-Type');

注意:我使用了
getHeaderLine
,因为
内容类型
标题不太可能包含多个值,这样可以避免将返回值视为单个项目数组。

您可以尝试
$response->getHeader('Content-Type')
。请参见@Phil,对我来说,
$response->getHeader('Content-Type')[0]
工作得很好。您可以回答,我会接受答案。您可以尝试
$response->getHeader('content-type')
。请参见@Phil,对我来说,
$response->getHeader('Content-Type')[0]
工作得很好。你可以回答,我会接受你的回答。你说不太可能,而我总是得到内容类型,比如
application/json;字符集=UTF-8
。Guzzle实现中的
getHeader()
方法并没有像我预期的那样将其分为两部分。PSR-7应该能够处理这个额外的“字符集”部分,还是由应用程序来完成呢?@Jason,这仍然只是一个标题。HTTP头的问题是,它们可能会以不同的值重复,因此健壮的实现将始终为每个头名称提供一组值(您说不太可能),而我始终获得内容类型,如
application/json;字符集=UTF-8
。Guzzle实现中的
getHeader()
方法并没有像我预期的那样将其分为两部分。PSR-7应该能够处理这个额外的“字符集”部分,还是由应用程序来完成呢?@Jason,这仍然只是一个标题。HTTP头的问题是,它们可能会以不同的值重复,因此健壮的实现将始终提供每个头名称的值集合