首页 > 后端开发 > php教程 > php中HTTP_USER_AGENT判断手机类型的函数

php中HTTP_USER_AGENT判断手机类型的函数

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
发布: 2016-07-25 08:57:21
原创
1392 人浏览过
本文介绍下,在php中,用HTTP_USER_AGENT判断手机类型的函数,有需要的朋友,参考下。

有关判断手机类型的方法,程序员之家之前的文章有所提及。 相关参考文章: 判断是否手机访问 php判断是否手机访问的代码

用HTTP_USER_AGENT判断手机类型,代码如下:

1

2

3

4

5

6

7

8

9

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

40

41

42

43

44

45

46

47

<?php

/**

* 判断手机类型

* by bbs.it-home.org

*/

function is_mobile_request() 

      $_SERVER['ALL_HTTP'] = isset($_SERVER['ALL_HTTP']) ? $_SERVER['ALL_HTTP'] : ''

      $mobile_browser = '0'

      if(preg_match('/(up.browser|up.link|mmp|symbian|smartphone|midp|wap

|phone|iphone|ipad|ipod|android|xoom)/i',

 strtolower($_SERVER['HTTP_USER_AGENT']))) 

        $mobile_browser++; 

      if((isset($_SERVER['HTTP_ACCEPT'])) and (strpos(strtolower($_SERVER['HTTP_ACCEPT']),'application/vnd.wap.xhtml+xml') !== false)) 

        $mobile_browser++; 

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

        $mobile_browser++; 

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

        $mobile_browser++; 

      $mobile_ua = strtolower(substr($_SERVER['HTTP_USER_AGENT'],0,4)); 

      $mobile_agents = array

            'w3c ','acs-','alav','alca','amoi','audi','avan','benq','bird','blac'

            'blaz','brew','cell','cldc','cmd-','dang','doco','eric','hipt','inno'

            'ipaq','java','jigs','kddi','keji','leno','lg-c','lg-d','lg-g','lge-'

            'maui','maxo','midp','mits','mmef','mobi','mot-','moto','mwbp','nec-'

            'newt','noki','oper','palm','pana','pant','phil','play','port','prox'

            'qwap','sage','sams','sany','sch-','sec-','send','seri','sgh-','shar'

            'sie-','siem','smal','smar','sony','sph-','symb','t-mo','teli','tim-'

            'tosh','tsm-','upg1','upsi','vk-v','voda','wap-','wapa','wapi','wapp'

            'wapr','webc','winw','winw','xda','xda-' 

            ); 

      if(in_array($mobile_ua, $mobile_agents)) 

        $mobile_browser++; 

      if(strpos(strtolower($_SERVER['ALL_HTTP']), 'operamini') !== false) 

        $mobile_browser++; 

      // Pre-final check to reset everything if the user is on Windows 

      if(strpos(strtolower($_SERVER['HTTP_USER_AGENT']), 'windows') !== false) 

        $mobile_browser=0; 

      // But WP7 is also Windows, with a slightly different characteristic 

      if(strpos(strtolower($_SERVER['HTTP_USER_AGENT']), 'windows phone') !== false) 

        $mobile_browser++; 

      if($mobile_browser>0) 

        return true; 

      else

        return false; 

}

?>

登录后复制
附一个自己写的简单方法:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

<?php

//能过http_user_agent检测是否手机访问

$ua = strtolower($_SERVER['HTTP_USER_AGENT']);

 

$uachar = "/(nokia|sony|ericsson|mot|samsung|sgh|lg|

philips|panasonic|alcatel|lenovo|cldc|midp|mobile|wap)/i";

 

if(($ua == '' || preg_match($uachar, $ua))&& !strpos(strtolower($_SERVER['REQUEST_URI']),'wap'))

{

    $Loaction = 'wap/';

 

    if (!empty($Loaction))

    {

        ecs_header("Location: $Loaction\n");

 

        exit;

    }

}

?>

登录后复制


本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板