查看: 1412|回复: 0

[PHP实例] PHP判断是手机端还是PC端 PHP判断是否是微信浏览器

发表于 2018-2-6 08:00:01

本文实例为大家分享了PHP判断的两个实例,一是PHP判断是手机端还是PC端,二是PHP判断是否是微信浏览器,供大家参考,具体内容如下

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. }
复制代码

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持程序员之家。

您可能感兴趣的文章:

  • thinkphp判断访客为手机端或PC端的方法
  • 利用PHP判断是手机移动端还是PC端访问的函数示例


回复

使用道具 举报