Php 获取浏览器的替代方案?

Php 获取浏览器的替代方案?,php,httpbrowsercapabilities,Php,Httpbrowsercapabilities,我一直在使用php的get_browser()函数对我的用户进行一些简单的分析,主要是为了调试。然而,browsercap.ini的维护人员(驱动get_browser的数据)似乎已经退出了该项目,尽管一些人似乎正在努力重新启动它,但数据变得非常陈旧。他们说的是完全重写,所以我担心需要很长时间才能重新开始 有人知道不依赖browsercap.ini的替代方案吗 编辑:很抱歉我的问题模棱两可。我需要这个用于调试,而不是分析。我在一个web应用程序的“报告bug”工具中使用它,该应用程序有很多跨浏览

我一直在使用php的
get_browser()
函数对我的用户进行一些简单的分析,主要是为了调试。然而,browsercap.ini的维护人员(驱动get_browser的数据)似乎已经退出了该项目,尽管一些人似乎正在努力重新启动它,但数据变得非常陈旧。他们说的是完全重写,所以我担心需要很长时间才能重新开始

有人知道不依赖browsercap.ini的替代方案吗

编辑:很抱歉我的问题模棱两可。我需要这个用于调试,而不是分析。我在一个web应用程序的“报告bug”工具中使用它,该应用程序有很多跨浏览器bug,但我无法控制客户端机器。这是一个非常古老的应用程序(最初为IE6构建),我们一直在尽最大努力更新它,但跨浏览器问题有时很难找到

再次感谢

我刚刚看了一下,这是Google Analytics的开源替代方案,它们依赖于
$\u服务器['HTTP\u USER\u AGENT'](有文档记录),但它直接连接到
get\u浏览器
(有文档记录)。此外,请记住,浏览器可能会对其用户代理撒谎,您应该准确描述您正在寻找的内容。

提供了一个合理的最新替代方案(上次更新5个月前),如果您只想获取有关访问者浏览器的信息

我用它将IE锁定在我们的工作内部网之外(因为我可以)。

我就是这样做的: 我已经包括了最常见的浏览者

<?php

function get_browsername() {
if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== FALSE){
$browser = 'Microsoft Internet Explorer';
}elseif (strpos($_SERVER['HTTP_USER_AGENT'], 'Chrome') !== FALSE) {
$browser = 'Google Chrome';
}elseif (strpos($_SERVER['HTTP_USER_AGENT'], 'Firefox') !== FALSE) {
$browser = 'Mozilla Firefox';
}elseif (strpos($_SERVER['HTTP_USER_AGENT'], 'Opera') !== FALSE) {
$browser = 'Opera';
}elseif (strpos($_SERVER['HTTP_USER_AGENT'], 'Safari') !== FALSE) {
$browser = 'Apple Safari';
}else {
$browser = 'error'; //<-- Browser not found.
}
return $browser;
}

echo 'Browser is '. get_browsername(); //<-- Display the browser name

if(get_browsername() == 'Google Chrome') { 
// Use the function to check
}

我建议您最好使用解析器库来完成这项工作。这个库可以解析您可以遇到的大多数浏览器,但缺陷也很明显。此库太重…

仍在维护()。但不要使用
get\u浏览器
。更好地使用不再维护的性能提供程序
function get_browsername($userAgent = $_SERVER['HTTP_USER_AGENT']){
    $browsers = array(
                    array("IE", "Microsoft Internet Explorer"),
                    array("Chrome", "Google Chrome"),
                    array("Firefox", "Mozzila Firefox"),
                    array("Opera", "Opera"),
                    array("Safari", "Apple Safari")
                );
    foreach($browsers as $browser){
        if (strpos($userAgent, $browser[0]) !== false)
        return $browser[1];
    }
    return "unknown";
}