ThinkPHP5輕鬆識別客戶端信息User-Agent(獲取用戶的操作系統、瀏覽器信息)

在使用瀏覽器發起的 HTTP 請求中,通常會包含一個識別標識。它名爲 User Agent,簡稱 UA。它是一串包含了客戶端基礎信息的字符串。通過它可以方便的獲取客戶端的操作系統,語言,瀏覽器和版本信息。
在 PHP 中查看客戶端 UA 標識的方式是讀取系統常量 $_SERVER 中的 HTTP_USER_AGENT 選項:

echo $_SERVER['HTTP_USER_AGENT'];

使用

推薦一個輕鬆識別客戶端信息的composer組件jenssegers/agent,雖然這個擴展官方爲laravel框架開發。由於TP5支持composer依賴管理,親測可用。
源碼地址: https://github.com/jenssegers/agent
安裝  

使用 composer 安裝:

composer require jenssegers/agent

基礎用法:

use Jenssegers\Agent\Agent;
$agent = new Agent();

//設置User Agent,比如在cli模式下用到
$agent->setUserAgent('Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/537.13+ (KHTML, like Gecko) Version/5.1.7 Safari/534.57.2');
$agent->setHttpHeaders($headers);

//Is方法檢測(如:操作系統)
$agent->is('Windows');
$agent->is('Firefox');
$agent->is('iPhone');
$agent->is('OS X');

//魔法方法(如: 廠商產品定位)
$agent->isAndroidOS();
$agent->isNexus();
$agent->isSafari();
//識別移動設備

$agent->isMobile();//手機
$agent->isTablet();//平板
$agent->isDesktop();//桌面端

// 語言
$languages = $agent->languages();
// ['nl-nl', 'nl', 'en-us', 'en']
// 是否是機器人
$agent->isRobot();

// 獲取設備信息 (iPhone, Nexus, AsusTablet, ...)
$agent->device();

// 系統信息  (Ubuntu, Windows, OS X, ...)
$agent->platform();

// 瀏覽器信息  (Chrome, IE, Safari, Firefox, ...)
$agent->browser();

// 獲取瀏覽器版本
$browser = $agent->browser();
$version = $agent->version($browser);

// 獲取系統版本
$platform = $agent->platform();
$version = $agent->version($platform);

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章