当前位置:Gxlcms > PHP教程 > PHP如何判断是否为手机端

PHP如何判断是否为手机端

时间:2021-07-01 10:21:17 帮助过:14人阅读

本文主要和大家分享PHP如何判断是否为手机端的方法实例,希望能帮助到大家。

  1. PHP判断是否为手机端的方法
  2. private function ismobile()
  3. {
  4. // 如果有HTTP_X_WAP_PROFILE则一定是移动设备
  5. if (isset($_SERVER['HTTP_X_WAP_PROFILE'])) {
  6. return true;
  7. }
  8. //此条摘自TPM智能切换模板引擎,适合TPM开发
  9. if (isset($_SERVER['HTTP_CLIENT']) && 'PhoneClient' == $_SERVER['HTTP_CLIENT']) {
  10. return true;
  11. }
  12. //如果via信息含有wap则一定是移动设备,部分服务商会屏蔽该信息
  13. if (isset($_SERVER['HTTP_VIA']))
  14. //找不到为flase,否则为true
  15. {
  16. return stristr($_SERVER['HTTP_VIA'], 'wap') ? true : false;
  17. }
  18. //判断手机发送的客户端标志,兼容性有待提高
  19. if (isset($_SERVER['HTTP_USER_AGENT'])) {
  20. $clientkeywords = array(
  21. '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',
  22. );
  23. //从HTTP_USER_AGENT中查找手机浏览器的关键字
  24. if (preg_match("/(" . implode('|', $clientkeywords) . ")/i", strtolower($_SERVER['HTTP_USER_AGENT']))) {
  25. return true;
  26. }
  27. }
  28. //协议法,因为有可能不准确,放到最后判断
  29. if (isset($_SERVER['HTTP_ACCEPT'])) {
  30. // 如果只支持wml并且不支持html那一定是移动设备
  31. // 如果支持wml和html但是wml在html之前则是移动设备
  32. 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')))) {
  33. return true;
  34. }
  35. }
  36. return false;
  37. }

相关推荐:

手机端怎样用rem+scss做适配

html5手机端页面缩放问题的解决详解

PHP判断手机端、PC端 、微信示例代码分享

以上就是PHP如何判断是否为手机端的详细内容,更多请关注Gxl网其它相关文章!

人气教程排行