PHP判断电脑端还是手机端




function isMobile(){
$useragent=isset($_SERVER[‘HTTP_USER_AGENT’]) ? $_SERVER[‘HTTP_USER_AGENT’] : ”;
$useragent_commentsblock=preg_match(‘|\(.*?\)|’,$useragent,$matches)>0?$matches[0]:”;
function CheckSubstrs($substrs,$text){
foreach($substrs as $substr)
if(false!==strpos($text,$substr)){
return true;
}
return false;
}
$mobile_os_list=array(‘Google Wireless Transcoder’,’Windows CE’,’WindowsCE’,’Symbian’,’Android’,’armv6l’,’armv5′,’Mobile’,’CentOS’,’mowser’,’AvantGo’,’Opera Mobi’,’J2ME/MIDP’,’Smartphone’,’Go.Web’,’Palm’,’iPAQ’);
$mobile_token_list=array(‘Profile/MIDP’,’Configuration/CLDC-‘,’160×160′,’176×220′,’240×240′,’240×320′,’320×240′,’UP.Browser’,’UP.Link’,’SymbianOS’,’PalmOS’,’PocketPC’,’SonyEricsson’,’Nokia’,’BlackBerry’,’Vodafone’,’BenQ’,’Novarra-Vision’,’Iris’,’NetFront’,’HTC_’,’Xda_’,’SAMSUNG-SGH’,’Wapaka’,’DoCoMo’,’iPhone’,’iPod’);

$found_mobile=CheckSubstrs($mobile_os_list,$useragent_commentsblock) ||
CheckSubstrs($mobile_token_list,$useragent);

if ($found_mobile){
return true;
}else{
return false;
}
}
if (isMobile()){
header(‘location: ./app/index.php’);//如果为手机端,执行跳转
}
else{
header(‘location: ./web/index.php’);//如果非手机端,执行跳转
}


public function checkWap()
{
// 先检查是否为wap代理,准确度高
if (isset($_SERVER[‘HTTP_VIA’]) && stristr(strtolower($_SERVER[‘HTTP_VIA’]), “wap”)) {
return true;
} elseif (strpos(strtoupper($_SERVER[‘HTTP_ACCEPT’]), “VND.WAP.WML”) > 0) {
// 检查浏览器是否接受 WML.
return true;
} elseif (!preg_match(‘/ipad/i’, $_SERVER[‘HTTP_USER_AGENT’]) && 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’])) {
//检查USER_AGENT
return true;
} else {
return false;
}
}

发表评论

电子邮件地址不会被公开。 必填项已用*标注