我需要在我的web应用中请求浏览器名称。(用于分析)
在核心PHP中,当我使用$visitor_user_agent=$_SERVER['HTTP_USER_AGENT']当使用Chrome时,它返回Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.130 Safari/537.36字符串,然后preg_match('/Chrome/i', $visitor_user_agent)可以用来知道它的Chrome或否。我不确定这是否是找到浏览器名称的有效方法。
我也找到了get_browser链接,但它没有给出浏览器名称。
在cakephp3或核心php中是否有方法获取浏览器名?

最佳答案

查看Request对象的documentation
可以使用HTTP_USER_AGENT方法获得env()

$this->request->env('HTTP_USER_AGENT');

您也可以准备自定义检测器:
$this->request->addDetector(
    'chrome',
    ['env' => 'HTTP_USER_AGENT', 'pattern' => '/Chrome/i']
);

然后在控制器中,只需使用is()方法,如下所示:
if($this->request->is('chrome')) {
    // do stuff for chrome
}

关于php - 如何在cakephp 3请求中获取浏览器名称?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31268575/

10-13 01:43