[英]How to get browser name in cakephp 3 request?
我需要在我的網絡應用程序中獲取請求瀏覽器名稱。(用於分析)
在我使用$visitor_user_agent=$_SERVER['HTTP_USER_AGENT']
核心php中,當使用$visitor_user_agent=$_SERVER['HTTP_USER_AGENT']
時,它返回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中有沒有辦法獲取瀏覽器名稱?
這將返回用於請求的用戶代理:
$this->request->header('User-Agent');
http://book.cakephp.org/3.0/en/controllers/request-response.html
查看Request
對象的文檔 。
您可以使用env()
方法獲取HTTP_USER_AGENT
:
$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
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.