• 技术文章 >php教程 >PHP源码

    php中$_SERVER['HTTP_USER_AGENT']判断是否为手机访问网站

    2016-06-08 17:24:18原创520
    HTTP_USER_AGENT是获取用户浏览器信息的一个全局变量,我们可以利用HTTP_USER_AGENT获取的值来判断用户是手机浏览器还是电脑访问网。
    代码如下 复制代码

    $uAgent = $_SERVER['HTTP_USER_AGENT'];

    $osPat = "mozilla|m3gate|winwap|openwave|Windows NT|Windows 3.1|95|Blackcomb|98|ME|X Window|ubuntu|Longhorn|AIX|Linux|AmigaOS|BEOS|HP-UX|OpenBSD|FreeBSD|NetBSD|OS/2|OSF1|SUN";

    if(preg_match("/($osPat)/i", $uAgent )) //winwap 模拟WAP手机上网的一个浏览器; openwave|后面为各pc操作系统

    {

    echo "电脑访问";

    }

    else

    {

    echo "手机访问";

    }

    echo '
    '.$uAgent;

    现在我们事完整的把实例写成一个文件

    代码如下 复制代码


    $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: $Loactionn");

    exit;
    }

    }


    /**
    * 自定义 header 函数,用于过滤可能出现的安全隐患
    *
    * @param string string 内容
    *
    * @return void
    **/
    function ecs_header($string, $replace = true, $http_response_code = 0)
    {
    if (strpos($string, '../upgrade/index.php') === 0)
    {
    echo '';
    }
    $string = str_replace(array("r", "n"), array('', ''), $string);

    if (preg_match('/^s*location:/is', $string))
    {
    @header($string . "n", $replace);

    exit();
    }

    if (emptyempty($http_response_code) || PHP_VERSION < '4.3')
    {
    @header($string, $replace);
    }
    else
    {
    @header($string, $replace, $http_response_code);
    }
    }

    javascript中采用navigator.userAgent 来获取,但非智能机似乎不支持js。

    支持js的移动客户端还可以用以下代码简单判断是不是windows电脑访问的

    代码如下 复制代码

    if(navigator.platform.indexOf('Win32')!=-1){
    //go to pc
    }else{
    // go to 手机
    }

    更多关于判断手机访问文章 http://www.111cn.net/phper/php-cy/44574.htm

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:nbsp quot string HTTP header
    上一篇:php 二维数组排序实现程序 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • 收藏PHP常用自定义函数• 检测移动设备的php代码(手机访问)• php 列出目录与删除目录实例代码• ini_set函数能设置的全部选项
    1/1

    PHP中文网