首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在cakephp 3请求中获取浏览器名称?

如何在cakephp 3请求中获取浏览器名称?
EN

Stack Overflow用户
提问于 2015-07-07 12:29:34
回答 2查看 2.2K关注 0票数 2

我需要在我的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中有获得浏览器名称的方法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-07-07 12:36:19

查看文档 of Request对象。

您可以使用HTTP_USER_AGENT方法获得env()

代码语言:javascript
复制
$this->request->env('HTTP_USER_AGENT');

您还可以准备自定义检测器:

代码语言:javascript
复制
$this->request->addDetector(
    'chrome',
    ['env' => 'HTTP_USER_AGENT', 'pattern' => '/Chrome/i']
);

然后在控制器中使用is()方法,如下所示:

代码语言:javascript
复制
if($this->request->is('chrome')) {
    // do stuff for chrome
}
票数 2
EN

Stack Overflow用户

发布于 2015-07-07 12:33:41

这将返回用于请求的用户代理:

代码语言:javascript
复制
$this->request->header('User-Agent');

http://book.cakephp.org/3.0/en/controllers/request-response.html

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31268575

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档