所以我就研究怎么用php去判断网页是电脑访问还是手机访问,然后再通过去加载不同的css来达到手机和电脑都可以正常的访问的效果。
网站查了很多资料,终于找到了一个合适、比较好用的代码,也希望能给大家一个参考。
复制代码 代码如下:
<?php
function check_wap() {
if (isset($_SERVER["HTTP_VIA"])) return true;
if (isset($_SERVER["HTTP_X_NOKIA_CONNECTION_MODE"])) return true;
if (isset($_SERVER["HTTP_X_UP_CALLING_LINE_ID"])) return true;
if (strpos(strtoupper($_SERVER["HTTP_ACCEPT"]),"VND.WAP.WML") > 0) {
// Check whether the browser/gateway says it accepts WML.
$br = "WML";
} else {
$browser = isset($_SERVER["HTTP_USER_AGENT"]) ? trim($_SERVER["HTTP_USER_AGENT"]) : "";
if(empty($browser)) return true;
$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,$browser) ||
checkSubstrs($mobile_token_list,$browser);
if($found_mobile)
$br ="WML";
else $br = "WWW";
}
if($br == "WML") {
return true;
} else {
return false;
}
}
function checkSubstrs($list,$str){
$flag = false;
for($i=0;$i<count($list);$i++){
if(strpos($str,$list[$i]) > 0){
$flag = true;
break;
}
}
return $flag;
}
if(check_wap()){
echo "wap";
}else{
echo "web";
}
?>
小编已经测试过了,是可以识别是电脑访问还是手机访问的。