如何使用CodeIgniter获取浏览器和平台信息?

时间:2016-05-19 11:33:50

标签: php codeigniter browser

我尝试使用User Agent类,但在IE11中,它显示了Mozilla 5.0。

$this->agent->browser().' '.$this->agent->version();

我尝试过使用PHP的get_browser()并显示正确的信息,' IE 11.0 for Desktop'但它会大大减慢加载速度。

$browser = get_browser(null, false);

1 个答案:

答案 0 :(得分:3)

您使用的是哪个版本的CodeIgniter?我刚刚在我的环境中测试了以下内容(CodeIgniter 3.0.6),并得到了正确的响应。

<强>控制器:

$this->load->helper('url');
$this->load->library('user_agent');

$data['browser'] = $this->agent->browser();
$data['browserVersion'] = $this->agent->version();
$data['platform'] = $this->agent->platform();
$data['full_user_agent_string'] = $_SERVER['HTTP_USER_AGENT'];

查看:

<?php 
    echo $browser . '<br />';
    echo $browserVersion  . '<br />';
    echo $platform . '<br />';
    echo $full_user_agent_string . '<br />';
?>

<强>输出:

  

Internet Explorer

     

7.0

     

Windows 7

     

Mozilla / 4.0(兼容; MSIE 7.0; Windows NT 6.1; WOW64;   三叉戟/ 7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR   3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; InfoPath.3; OWASMIME / 4.0500)

是的,我在兼容模式下进行了测试(这就是为什么你会看到MSIE 7.0引用的原因)。我实际上尝试了开发工具中列出的所有版本,并且似乎适用于所有版本。

出于某种原因,您可能会看到完整用户代理字符串的一部分。该字符串以Mozilla / 5.0开头。这并不意味着它实际上是Mozilla。 Here is some more history on why you see Mozilla/5.0 in the user agent string