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


How do I get browser and platform info using CodeIgniter?

我尝试使用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);

您使用的是什么版本的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。净CLR3.0.30729;Media Center PC 6.0。NET4.0C。NET4.0E;InfoPath.3;OWASMIME/4.0500)

是的,我在兼容模式下进行了测试(这就是您看到MSIE 7.0被引用的原因)。事实上,我尝试了开发工具中列出的所有版本,似乎都能使用。

出于某种原因,您可能会看到完整的用户代理字符串的一部分。该字符串以Mozilla/5.0开头。这并不意味着它实际上是Mozilla。以下是关于为什么在用户代理字符串中看到Mozilla/5.0的更多历史记录。