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博客

相關文章
相關標籤/搜索