php判断手机移动设备访问

<?php
function isMobile()
{
    // 如果有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

function isMobile()

{

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

}

?>

时间: 2024-10-10 13:23:56

php判断手机移动设备访问的相关文章

is_mobile()判断手机移动设备

is_mobile()判断手机移动设备.md 制作响应式主题时会根据不同的设备推送不同的内容,是基于移动设备网络带宽压力,避免全局接收pc端内容. function is_mobile() { $user_agent = $_SERVER[ 'HTTP_USER_AGENT' ]; $mobile_browser = Array( "mqqbrowser", //手机QQ浏览器 "opera mobi", //手机opera "juc", &qu

PHP和JS判断手机还是电脑访问

当用户使用手机等移动终端访问网站时,我们可以通过程序检测用户终端类型,如果是手机用户,则引导用户访问适配手机屏幕的移动站点.本文将介绍分别使用PHP和JAVASCRIPT代码判断用户终端类型. PHP版 我们使用PHP的$_SERVER['HTTP_USER_AGENT']来获取手机用户浏览器的用户代理,然后匹配已有的各种手机浏览器代理库,如果含有匹配的关键字,则判断为手机(移动终端)用户. function is_mobile() { $user_agent = $_SERVER['HTTP_

如何判断是手机或电脑访问web

移动设备越来越主流,有很多网站对手机访问并不是特别的友好.所以我们要另外的给手机客户分配针对手机web访问的界面.如何判断是手机还是电脑在访问呢? 首先手机访问时,会附带发送user-agent信息,这个信息里面会有手机号码信息.我们如果可以获取...算了,用脚趾头也会想到,这是属于用户个人隐私信息的,移动和联通公司肯定给屏蔽或加密了.除非你服务器IP是在他们的白名单上. 那么我们换其他方式,当手机通过代理服务器访问的时候,http头信息会毫无疑问的包含一个信息:via.这个信息提供了有价值的判

判断WEB网站的访问端是电脑还是手机的方法

如何判断WEB网站的访问端是电脑还是手机?以显示不同的页面! 其实可以通过JS脚本来实现: <script type="text/javascript">  <!--          //平台.设备和操作系统          var system = {              win: false,              mac: false,              xll: false,              ipad:false        

javascript如何判断是手机还是电脑访问本网页

1 var system ={}; 2 var p = navigator.platform; 3 system.win = p.indexOf("Win") == 0; 4 system.mac = p.indexOf("Mac") == 0; 5 system.x11 = (p == "X11") || (p.indexOf("Linux") == 0); 6 if(system.win||system.mac||syst

javaweb:判断当前请求是否为移动设备访问

这段时间都是在做pc端的业务,结果经理找到我说,可能要做移动端的应用,后台逻辑还是用我写的逻辑,但是需要改动一些,看看怎么处理. 由于移动端和pc端还是稍微有些区别的,我觉得最好是在一个地儿统一判断,而且不要改动原先的代码,这样可以从一定程度上减少bug的数量.我的想法是首先应该判断当前请求是否为移动端,然后设一个标识到session中,然后就可以随便处理了.不管你是单独处理,还是统一处理,直接读取session就可以做相应的判断了. 我封装成了一个类,现在分享给大家: package com.

javaweb判断当前请求是否为移动设备访问的方法

由于移动端和pc端还是稍微有些区别的,我觉得最好是在一个地儿统一判断,而且不要改动原先的代码,这样可以从一定程度上减少bug的数量.我的想法是首先应该判断当前请求是否为移动端,然后设一个标识到session中,然后就可以随便处理了.不管你是单独处理,还是统一处理,直接读取session就可以做相应的判断了. 我封装成了一个类,现在分享给大家: ? 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

php判断当前浏览设备是否是手机

今天看到一个php判断是否是手持设备的代码, function isMobile(){ // 如果有HTTP_X_WAP_PROFILE则一定是移动设备 if (isset ($_SERVER['HTTP_X_WAP_PROFILE'])){ return true; } // 如果via信息含有wap则一定是移动设备,部分服务商会屏蔽该信息 if (isset ($_SERVER['HTTP_VIA'])){ // 找不到为flase,否则为true return stristr($_SERV

判断是手机还是电脑访问的代码 &nbsp;

判断是手机还是电脑访问的函数代码: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 public function whichpad() {     //检测访问的系统及版本.浏览器版本等信息     $agent = strtolower($_SERVER['HTTP_USER_AGENT']);     $is_iphone = (strpos($agent, 'iphone')) ? true : false;     $is_android = (strpo