我需要在我的web应用程序中获得请求浏览器名称。(用于分析)
在核心php中,当我使用$visitor_user_agent=$_SERVER['HTTP_USER_AGENT']时,它会在使用chrome.And时返回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是否正确,我不确定这是否是查找浏览器名称的有效方法。
我还找到了浏览器链接,但它没有给出浏览器的名称。
在cakephp3或cakephp3中有获得浏览器名称的方法吗?
发布于 2015-07-07 12:36:19
查看文档 of Request对象。
您可以使用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
}发布于 2015-07-07 12:33:41
这将返回用于请求的用户代理:
$this->request->header('User-Agent');http://book.cakephp.org/3.0/en/controllers/request-response.html
https://stackoverflow.com/questions/31268575
复制相似问题