Thinkphp 判断浏览器是微信\手机浏览器\WEB浏览器


直接上代码:css

1html

2android

3web

4windows

5浏览器

6微信

7iphone

8spa

9code

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

function ismobile() {

    $web = 0;

    $mobile = 1;

    $wx = 2; 

    // 判断是不是微信浏览器

    if strpos($_SERVER['HTTP_USER_AGENT'], 'MicroMessenger') !== false ) {

            return $wx;

    }  

    // 若是有HTTP_X_WAP_PROFILE则必定是移动设备

    if (isset ($_SERVER['HTTP_X_WAP_PROFILE']))

        return $mobile;

     

    //此条摘自TPM智能切换模板引擎,适合TPM开发

    if(isset ($_SERVER['HTTP_CLIENT']) &&'PhoneClient'==$_SERVER['HTTP_CLIENT'])

        return $mobile;

    //若是via信息含有wap则必定是移动设备,部分服务商会屏蔽该信息

    if (isset ($_SERVER['HTTP_VIA']))

        //找不到为flase,不然为true

        return stristr($_SERVER['HTTP_VIA'], 'wap') ? true : false;

    //判断手机发送的客户端标志,兼容性有待提升

    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 $mobile;

        }

    }

    //协议法,由于有可能不许确,放到最后判断

    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 $mobile;

        }

    }

    return $web;

}

 

返回: 0 是WEB浏览器 1是手机浏览器 2是微信

 

本文为Old-bin原创文章,转载无需和我联系,但请注明来自Old-bin博客

相关文章
相关标签/搜索