PHP判断是否是微信访问/ 浏览器访问

项目中遇到的问题, 如果用户是使用微信访问的. 那么进行友好提示”如何使用浏览器打开/告诉用户使用浏览器打开”

方案

useragent是浏览器标识, 带有一些客户信息. 比如浏览器内核, 操作系统等等

微信访问网页也是一个浏览器, 它也有UA. 那么就判断它的UA 就可以辨别是否被微信所访问了

1
2
3
4
5
6
7
8
9
<?php
$ua = $_SERVER['HTTP_USER_AGENT'];
//MicroMessenger 是android/iphone版微信所带的
//Windows Phone 是winphone版微信带的 (这个标识会误伤winphone普通浏览器的访问)
if(strpos($ua, 'MicroMessenger') == false && strpos($ua, 'Windows Phone') == false){
echo "来自普通浏览器访问";
}else{
echo "来自微信浏览器访问";
}