PHP有几种方法判断是否有手机访问和微信访问,100%准确!
PHP有几种方法判断是否是手机访问和微信访问,100%准确,可以保存一下
function ismobile(){
//如果是HTTP_X_WAP_PROFILE,则一定是移动设备
if (isset($_SERVER['HTTP_X_WAP_PROFILE'])){
return true;
}
//如果via信息中包含wap则一定是移动设备,有些服务商会屏蔽这个信息
if (isset ($_SERVER['HTTP_VIA'])){
//如果不存在则为false,否则为true
return stristr($_SERVER['HTTP_VIA'] ,“瓦普”)? true : false;
}
//无脑方法,判断手机发送的客户端flag,兼容性有待提高
if(isset($_SERVER['HTTP_USER_AGENT'])){
$clientkeywords = array ('诺基亚','索尼','爱立信','mot','三星','htc','sgh','lg','夏普','sie-','飞利浦' ,'松下', '阿尔卡特','联想','iphone','ipod','黑莓','魅族','android','netfront','symbian', 'ucweb','windowsce', ' palm','operamini ','operamobi','openwave','nexusone','cldc','midp','wap','mobile');
//从HTTP_USER_AGENT中查找手机浏览器的关键字
if (preg_match(" /(" .implode('|', $clientkeywords) .")/i", strtolower($_SERVER['HTTP_USER_AGENT']))) {
return true;
}
}
// 协议法,因为可能不准确,留到最后评估吧
if (isset ($_SERVER['HTTP_ACCEPT'])){
//如果只支持wml而不支持html,则一定是移动设备
//如果支持wml和html,但wml在前html,是移动设备
if ((strpos($_SERVER['HTTP_ACCEPT'], 'vnd.wap.wml') !== false) && (strpos($_SERVER['HTTP_ACCEPT'], 'text / html') == = false || (strpos($_SERVER['HTTP_ACCEPT'], 'vnd.wap.wml') 返回true;
}
}
return false;
}
//php判断是否是微信:
function isWeixin() {' ' ], 'MicroMessenger') ! == false) {
返回 true;
} else {
返回 false;
}
}
使用如下:♝ ?
if(ismobile()){
?>
这是手机冲浪!
无法手机上网!
不是微信浏览器!
版权声明
本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。