說(shuō)明
在使用瀏覽器發(fā)起的 HTTP 請(qǐng)求中渔欢,通常會(huì)包含一個(gè)識(shí)別標(biāo)識(shí)。它名為 User Agent瘟忱,簡(jiǎn)稱 UA膘茎。它是一串包含了客戶端基礎(chǔ)信息的字符串。通過(guò)它可以方便的獲取客戶端的操作系統(tǒng)酷誓,語(yǔ)言披坏,瀏覽器和版本信息。
在 PHP 中查看客戶端 UA 標(biāo)識(shí)的方式是讀取系統(tǒng)常量 $_SERVER 中的 HTTP_USER_AGENT 選項(xiàng):
echo $_SERVER['HTTP_USER_AGENT'];
使用
推薦一個(gè)輕松識(shí)別客戶端信息的composer組件jenssegers/agent盐数,雖然這個(gè)擴(kuò)展官方為laravel框架開(kāi)發(fā)棒拂。由于TP5支持composer依賴管理,親測(cè)可用玫氢。
源碼地址: https://github.com/jenssegers/agent
?安裝
使用 composer 安裝:
composer require jenssegers/agent
基礎(chǔ)用法:
use Jenssegers\Agent\Agent;
$agent = new Agent();
//設(shè)置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方法檢測(cè)(如:操作系統(tǒng))
$agent->is('Windows');
$agent->is('Firefox');
$agent->is('iPhone');
$agent->is('OS X');
//魔法方法(如: 廠商產(chǎn)品定位)
$agent->isAndroidOS();
$agent->isNexus();
$agent->isSafari();
//識(shí)別移動(dòng)設(shè)備
$agent->isMobile();//手機(jī)
$agent->isTablet();//平板
$agent->isDesktop();//桌面端
// 語(yǔ)言
$languages = $agent->languages();
// ['nl-nl', 'nl', 'en-us', 'en']
// 是否是機(jī)器人
$agent->isRobot();
// 獲取設(shè)備信息 (iPhone, Nexus, AsusTablet, ...)
$agent->device();
// 系統(tǒng)信息? (Ubuntu, Windows, OS X, ...)
$agent->platform();
// 瀏覽器信息? (Chrome, IE, Safari, Firefox, ...)
$agent->browser();
// 獲取瀏覽器版本
$browser = $agent->browser();
$version = $agent->version($browser);
// 獲取系統(tǒng)版本
$platform = $agent->platform();
$version = $agent->version($platform);
案例
基于thinkphp5開(kāi)源通用框架EacooPHP,模塊化靈活擴(kuò)展二次開(kāi)發(fā)漾峡,開(kāi)發(fā)API接口攻旦、微信、小程序開(kāi)發(fā)等:
QQ交流群:436491685
框架官網(wǎng):http://www.eacoo123.com