![]() |
1
11
你可以利用 apache's mod_negotiation module . 通过这种方式,您可以使用模块提供的全部协商功能,包括 您自己的偏好 对于内容类型(例如,“我真的想交付application/xhtml+xml,除非客户机非常喜欢其他东西”)。 碱性溶液:
要使其工作,需要启用mod_协商,为addhandler和
AcceptPathInfo
未禁用$_server['path_info']。
那么,是否有人知道要选择的经过测试的一段PHP代码这不是纯PHP解决方案,但我认为mod_协商已经过尝试和测试;-) |
![]() |
2
20
我的库中的小片段:
示例用法:
|
![]() |
3
10
Pear::HTTP 1.4.1有一个方法 string negotiateMimeType( array $supported, string $default)
印刷品 text/*;q=0.3, text/html;q=0.7, text/html;level=1, text/html;level=2;q=0.4, /;q=0.5 -> application/xhtml+xml text/*;q=0.3, text/html;q=0.8, application/xhtml+xml;q=0.7, */*;q=0.2 -> text/html text/*;q=0.3, text/html;q=0.7, */*;q=0.8 -> application/xhtml+xml text/*, application/xhtml+xml -> application/xhtml+xml text/html, application/xhtml+xml -> text/html 编辑:这可能不太好… 我的火狐发送 接受:text/html,application/xhtml+xml,application/xml;q=0.9, / q=0.8 text/html和application/xhtml+xml的q=1.0,但是pear::http(afaik)不允许 你 选择您喜欢的一个,它返回文本/html,无论您作为$SUPPORTED传递什么。这对您来说可能足够,也可能不够。看看我的其他答案。 |
![]() |
4
9
只是为了记录, Negotiation 是处理内容协商的纯PHP实现。 |
![]() |
5
1
将@maciej-ebkowski和@chachacham15解决方案与我的问题修复和改进合并。如果你通过
|
![]() |
6
1
PEAR's HTTP2 library
支持分析所有类型的
示例见 documentation 或 my blog post . |
![]() |
7
0
http://www.dev-archive.net/articles/xhtml.html#content-negotiation 它是用Perl编写的,但它的布局很清楚,只包含一些if/else和regex。将它移植到PHP应该很简单。 |
![]() |
8
0
客户机可以接受响应中的mime类型列表。另一方面,响应的顺序对于客户端非常重要。 PHP Pear HTTP2 最好是处理语言、字符集和mimetype。
以下是一个很好的教程: https://cweiske.de/tagebuch/php-http-negotiation.htm |
![]() |
Jacco · 未能格式化我的日期以在php中正确工作 1 年前 |
![]() |
jay ram · 如何在URL核心php中从API获取JSON? 1 年前 |
|
Ishwarya A · php电子表格在浏览器中显示多张excel 1 年前 |