User-Profile-Image
hankin
  • 5
  • 日记
  • 新闻
  • 微博
  • 仓库
  • 音乐
  • 程序人生
    • python
    • php
    • mysql
    • linux
    • go
  • 关于我
    • 博主简介
  • 友情链接
    • 知向前端
Help?

Please contact us on our email for need any support

Support
    首页   ›   php   ›   正文
php

判断是否是移动端设备

2020-05-15 16:32:38
77  0 0

这个方法可以判断浏览器是否是移动端

 function isMobile() {
     // 如果有HTTP_X_WAP_PROFILE则一定是移动设备
     if (isset ($_SERVER['HTTP_X_WAP_PROFILE']))
         { return true; }
     //如果via信息含有wap则一定是移动设备,部分服务商会屏蔽该信息
     if (isset ($_SERVER['HTTP_VIA']))
        {
         //找不到为flase,否则为true
        if(stristr($_SERVER['HTTP_VIA'], "wap"))
              return   true ;
        }
     //脑残法,判断手机发送的客户端标志,兼容性有待提高
     if (isset ($_SERVER['HTTP_USER_AGENT']))
        {
            $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'  );
            // 从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') < strpos($_SERVER['HTTP_ACCEPT'], 'text/html'))))

        {   return true;  }
    }
     return false;
    }

如本文“对您有用”,欢迎随意打赏作者,让我们坚持创作!

0 打赏
评论 (0)

点击这里取消回复。

欢迎您 游客  

doralf
28文章 3评论 0点赞 3517浏览
搜一搜,你想干啥
近期文章
  • Mac 配置 Docker 镜像加速
  • 在多个数组里面找出某个字段的不同值
  • cgi、fastcgi、php-cgi、php-fpm剖析
  • php.ini常用配置
  • 计算机下载
标签
centos cron docker github go javascript linux MySQL nginx php thinkphp
我的微信
交换友情链接

通过上面的二维码加我微信
然后把你的链接发过来
我这边会手动给你添加
交个朋友,多个链接
人生挺美好的 哈哈

微信公众号
  • 0
  • 0
  • 5
  • 3
  • 1,232
  • 793
  • 0
  • 0
Copyright © 2021
主页
页面
  • 博主简介
博主
doralf 管理员
28 文章 3 评论 3517 浏览
测试
测试
赞赏作者

请通过微信、支付宝 APP 扫一扫

感谢您对作者的支持!

 支付宝 微信支付