zoukankan      html  css  js  c++  java
  • php怎么判断网页是电脑访问还是手机访问

    1.第一种方法 

    <?php 

    function check_wap() {  
        if (isset($_SERVER['HTTP_VIA'])) return true;  
        if (isset($_SERVER['HTTP_X_NOKIA_CONNECTION_MODE'])) return true;  
        if (isset($_SERVER['HTTP_X_UP_CALLING_LINE_ID'])) return true;  
        if (strpos(strtoupper($_SERVER['HTTP_ACCEPT']),"VND.WAP.WML") > 0) {  
            // Check whether the browser/gateway says it accepts WML.  
            $br = "WML";  
        } else {  
            $browser = isset($_SERVER['HTTP_USER_AGENT']) ? trim($_SERVER['HTTP_USER_AGENT']) : '';  
            if(empty($browser)) return true;
            $mobile_os_list=array('Google Wireless Transcoder','Windows CE','WindowsCE','Symbian','Android','armv6l','armv5','Mobile','CentOS','mowser','AvantGo','Opera Mobi','J2ME/MIDP','Smartphone','Go.Web','Palm','iPAQ');  
                        
            $mobile_token_list=array('Profile/MIDP','Configuration/CLDC-','160×160','176×220','240×240','240×320','320×240','UP.Browser','UP.Link','SymbianOS','PalmOS','PocketPC','SonyEricsson','Nokia','BlackBerry','Vodafone','BenQ','Novarra-Vision','Iris','NetFront','HTC_','Xda_','SAMSUNG-SGH','Wapaka','DoCoMo','iPhone','iPod');  
                        
            $found_mobile=checkSubstrs($mobile_os_list,$browser) ||  
                                checkSubstrs($mobile_token_list,$browser); 
        if($found_mobile)
            $br ="WML";
        else $br = "WWW";
        }  
        if($br == "WML") {  
            return true;  
        } else {  
            return false;  
        }  
    }

    function checkSubstrs($list,$str){
        $flag = false;
        for($i=0;$i<count($list);$i++){
            if(strpos($str,$list[$i]) > 0){
                $flag = true;
                break;
            }
        }
        return $flag;
    }

    if(check_wap()){
        echo "wap";
    }else{
        echo "web";
    }

    ?>

     2.第二种方法

    <?php
    function isMobile(){  
        $useragent=isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : '';  
        $useragent_commentsblock=preg_match('|(.*?)|',$useragent,$matches)>0?$matches[0]:'';        
        function CheckSubstrs($substrs,$text){  
            foreach($substrs as $substr)  
                if(false!==strpos($text,$substr)){  
                    return true;  
                }  
                return false;  
        }
        $mobile_os_list=array('Google Wireless Transcoder','Windows CE','WindowsCE','Symbian','Android','armv6l','armv5','Mobile','CentOS','mowser','AvantGo','Opera Mobi','J2ME/MIDP','Smartphone','Go.Web','Palm','iPAQ');
        $mobile_token_list=array('Profile/MIDP','Configuration/CLDC-','160×160','176×220','240×240','240×320','320×240','UP.Browser','UP.Link','SymbianOS','PalmOS','PocketPC','SonyEricsson','Nokia','BlackBerry','Vodafone','BenQ','Novarra-Vision','Iris','NetFront','HTC_','Xda_','SAMSUNG-SGH','Wapaka','DoCoMo','iPhone','iPod');  
              
        $found_mobile=CheckSubstrs($mobile_os_list,$useragent_commentsblock) ||  
                  CheckSubstrs($mobile_token_list,$useragent);  
              
        if ($found_mobile){  
            return true;  
        }else{  
            return false;  
        }  
    }
    if (isMobile())
        echo '手机登录';
    else
        echo '电脑登录';

    ?> 

  • 相关阅读:
    Office 365开发环境概览
    Office 365开发概述及生态环境介绍(二)
    介绍Office 365 中文用户社区 4.0
    学习一点Markdown的基本知识
    Office 365开发概述及生态环境介绍(一)
    如何完全卸载OneDrive (Windows 10 64bit)
    国内版Office 365和Azure AAD绑定的问题及解决方案
    Office 365常见问题解答(第一期)
    招聘视音频工程师
    信念、思考、行动-谈谈程序员返回家乡的创业问题
  • 原文地址:https://www.cnblogs.com/qhorse/p/4595386.html
Copyright © 2011-2022 走看看