我需要在我的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/