gpt4 book ai didi

php - 在服务器上检测 OS X 10.4 及以下版本

转载 作者:可可西里 更新时间:2023-10-31 23:44:29 26 4
gpt4 key购买 nike

基于 this看起来很难让操作系统版本检测完全正确。但是,我正在寻找一些像样的东西,警告 OS X Tiger 及以下版本的用户我的产品可能存在兼容性问题。

我能想到的启发式是先检测操作系统是否是Mac(比较简单),然后用正则表达式10[/._][0-4]匹配用户代理到检测 Tiger 及以下。我真的不关心用户代理被修改的情况——我想要一个公平的检测 OS X 版本的成功率,而不是 100% 的解决方案。

还有其他建议吗?

此外,如果指向一个工具可以加分,该工具通过为不同的操作系统版本 + 浏览器版本组合生成已知的用户代理字符串来帮助我进行测试。

谢谢!

最佳答案

嗯,我相信使用 get_browser () 函数和最新的 php_browscap.ini 在这种情况下是最明智的选择,但不能 100% 确定它是否会告诉您操作系统版本。

编辑:如果您仍决定自己完成所有解析工作,browscap.ini 文件还为您提供了足够的用户代理字符串。

编辑:似乎there is also a PHP implementation这不需要您更改 php.ini 文件。

编辑:根据您在此处提供给我的用户代理字符串,我认为最有效的代码是:

if (preg_match('~Mac OS X (.*?);~', $_SERVER['HTTP_USER_AGENT'], $matches) > 0)
{
$version = preg_replace('~[^0-9]+~', '.', trim($matches[1]));

if (version_compare($version, '10.5', '>=') === true)
{
// ok
}

else
{
// not ok
}
}

else
{
// not Mac OS X
}

关于php - 在服务器上检测 OS X 10.4 及以下版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1325773/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com