改进Request类增加agent和isMobile方法

This commit is contained in:
thinkphp
2016-05-30 22:49:15 +08:00
parent 6599c8c758
commit 4a974f52a9

View File

@@ -711,6 +711,36 @@ class Request
return $ip[$type];
}
/**
* 获取用户agent信息
* @access public
* @return string
*/
public function agent()
{
return $this->server('HTTP_USER_AGENT');
}
/**
* 检测是否使用手机访问
* @access public
* @return bool
*/
public function isMobile()
{
if (isset($_SERVER['HTTP_VIA']) && stristr($_SERVER['HTTP_VIA'], "wap")) {
return true;
} elseif (strpos(strtoupper($_SERVER['HTTP_ACCEPT']), "VND.WAP.WML")) {
return true;
} elseif (isset($_SERVER['HTTP_X_WAP_PROFILE']) || isset($_SERVER['HTTP_PROFILE'])) {
return true;
} elseif (preg_match('/(blackberry|configuration\/cldc|hp |hp-|htc |htc_|htc-|iemobile|kindle|midp|mmp|motorola|mobile|nokia|opera mini|opera |Googlebot-Mobile|YahooSeeker\/M1A1-R2D2|android|iphone|ipod|mobi|palm|palmos|pocket|portalmmm|ppc;|smartphone|sonyericsson|sqh|spv|symbian|treo|up.browser|up.link|vodafone|windows ce|xda |xda_)/i', $_SERVER['HTTP_USER_AGENT'])) {
return true;
} else {
return false;
}
}
/**
* 当前URL地址中的scheme参数
* @access public