天天看點

擷取user agent php,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);