php判断客户端是手机号码_php判断客户端是手机设备然后跳转到手机站

时间:2019-09-03  来源:留言  阅读:

以下是我正在用的函数,不过好像在iphone上有点问题,如果你有更好的解决方案,可以留言发给我,不尽感激。

 代码如下 // 如果是手机设置,跳转到手机页面
if (isMobile ()) {
    Header ( "Location: mobile.php" );
    exit ();
}


/**
 * 判断用户是否为移动用户,可以判断iphone,Android,Windows Mobile和一般的手机系统
 */
function isMobile(){
    // 判断 iphone 和 ipad,不跳转
    $userAgent = $_SERVER["HTTP_USER_AGENT"];
    if(strpos($userAgent, "iPhone") ||
        strpos($userAgent, "iPad") ||
        strpos($userAgent, "iPod") ||
        strpos($userAgent, "iOS")){
        return false;
    }

    // 如果有HTTP_X_WAP_PROFILE则一定是移动设备
    if (isset ($_SERVER["HTTP_X_WAP_PROFILE"])) {
        return true;
    }

    //如果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 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;
}

php判断客户端是手机号码_php判断客户端是手机设备然后跳转到手机站

http://m.bbyears.com/zhufuduanxin/65890.html

推荐访问:
相关阅读 猜你喜欢
本类排行 本类最新