PHP判断是移动手机端还是PC端以及PHP判断是否是微信浏览器

后端开发   发布日期:2023年05月14日   浏览次数:1156

1、判断是否是手机端

  1. function isMobile() {
  2. // 如果有HTTP_X_WAP_PROFILE则一定是移动设备
  3. if (isset($_SERVER['HTTP_X_WAP_PROFILE'])) {
  4. return true;
  5. }
  6. // 如果via信息含有wap则一定是移动设备,部分服务商会屏蔽该信息
  7. if (isset($_SERVER['HTTP_VIA'])) {
  8. // 找不到为flase,否则为true
  9. return stristr($_SERVER['HTTP_VIA'], "wap") ? true : false;
  10. }
  11. // 脑残法,判断手机发送的客户端标志,兼容性有待提高。其中'MicroMessenger'是电脑微信
  12. if (isset($_SERVER['HTTP_USER_AGENT'])) {
  13. $clientkeywords = array('nokia','sony','ericsson','mot','samsung','htc','sgh','lg','sharp','sie-','philips','panasonic','alcatel','lenovo','iphone','ipod','blackberry','meizu','android','netfront','symbian','ucweb','windowsce','palm','operamini','operamobi','openwave','nexusone','cldc','midp','wap','mobile','MicroMessenger');
  14. // 从HTTP_USER_AGENT中查找手机浏览器的关键字
  15. if (preg_match("/(" . implode('|', $clientkeywords) . ")/i", strtolower($_SERVER['HTTP_USER_AGENT']))) {
  16. return true;
  17. }
  18. }
  19. // 协议法,因为有可能不准确,放到最后判断
  20. if (isset ($_SERVER['HTTP_ACCEPT'])) {
  21. // 如果只支持wml并且不支持html那一定是移动设备
  22. // 如果支持wml和html但是wml在html之前则是移动设备
  23. if ((strpos($_SERVER['HTTP_ACCEPT'], 'vnd.wap.wml') !== false) && (strpos($_SERVER['HTTP_ACCEPT'], 'text/html') === false || (strpos($_SERVER['HTTP_ACCEPT'], 'vnd.wap.wml') < strpos($_SERVER['HTTP_ACCEPT'], 'text/html')))) {
  24. return true;
  25. }
  26. }
  27. return false;
  28. }

2、判断是否是微信内置浏览器

  1. function isWeixin() {
  2. if (strpos($_SERVER['HTTP_USER_AGENT'], 'MicroMessenger') !== false) {
  3. return true;
  4. } else {
  5. return false;
  6. }
  7. }


以上就是PHP判断是移动手机端还是PC端以及PHP判断是否是微信浏览器的详细内容,更多关于PHP判断是移动手机端还是PC端以及PHP判断是否是微信浏览器的资料请关注九品源码其它相关文章!