zoukankan      html  css  js  c++  java
  • php 验证访问浏览器是电脑还是手机

    //判断如果为手机用户则

    if(checkmobile()==true) {

    $url=$_SERVER["HTTP_HOST"]; 

    $urlHost=GetHost($url); 

    header("Location:http://wap.".$urlHost."");

    }

    //验证电脑或者是手机

    function checkmobile() {  //注释手机验证 

    //return true;

     global $_G; 

    $mobile = array();

     static $touchbrowser_list =array('iphone', 'android', 'phone', 'mobile', 'wap', 'netfront', 'java', 'opera mobi', 'opera mini',  'ucweb', 'windows ce', 'symbian', 'series', 'webos', 'sony', 'blackberry', 'dopod', 'nokia', 'samsung',     'palmsource', 'xda', 'pieplus', 'meizu', 'midp', 'cldc', 'motorola', 'foma', 'docomo', 'up.browser',     'up.link', 'blazer', 'helio', 'hosin', 'huawei', 'novarra', 'coolpad', 'webos', 'techfaith', 'palmsource',     'alcatel', 'amoi', 'ktouch', 'nexian', 'ericsson', 'philips', 'sagem', 'wellcom', 'bunjalloo', 'maui', 'smartphone',     'iemobile', 'spice', 'bird', 'zte-', 'longcos', 'pantech', 'gionee', 'portalmmm', 'jig browser', 'hiptop',     'benq', 'haier', '^lct', '320x320', '240x320', '176x220', 'windows phone');  static $wmlbrowser_list = array('cect', 'compal', 'ctl', 'lg', 'nec', 'tcl', 'alcatel', 'ericsson', 'bird', 'daxian', 'dbtel', 'eastcom',    'pantech', 'dopod', 'philips', 'haier', 'konka', 'kejian', 'lenovo', 'benq', 'mot', 'soutec', 'nokia', 'sagem', 'sgh',    'sed', 'capitel', 'panasonic', 'sonyericsson', 'sharp', 'amoi', 'panda', 'zte');

     static $pad_list = array('ipad');

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

     if(dstrpos($useragent, $pad_list))

    {   return false;  }

     if(($v = dstrpos($useragent, $touchbrowser_list, true)))

    {   $_G['mobile'] = $v;   return '2';  } 

    if(($v = dstrpos($useragent, $wmlbrowser_list)))

    {  

    $_G['mobile'] = $v; 

     return '3'; //wml版

     }

     $brower = array('mozilla', 'chrome', 'safari', 'opera', 'm3gate', 'winwap', 'openwave', 'myop');

     if(dstrpos($useragent, $brower)) return false;

     $_G['mobile'] = 'unknown';

     if(isset($_G['mobiletpl'][$_GET['mobile']]))

    {   return true;  }

    else

    {   return false;  }

    }

    function dstrpos($string, $arr, $returnvalue = false) {

     if(empty($string)) return false;

     foreach((array)$arr as $v)

     if(strpos($string, $v) !== false)

    {   

    $return = $returnvalue ? $v : true;   

    return $return;  

    }  return false;

    }

    //截取网站主域名

    function GetHost($url)

    {  

      $num=substr_count($url,'.');  

      if($num>1)   

      {      

          $strNum=strpos($url,'.'); 

           $strCount=strlen($url);      

          $endNum=$strCount-$strNum;     

        $url=substr($url,($strNum+1),$endNum);         

       }  

      return $url;

    }

  • 相关阅读:
    java 的三种代理模式 (二)——子函数切面
    王者荣耀为什么不使用微服务架构,服务的极简主义,为什么交易网关使用redis做持久
    tcp_syncookies 半连接
    tcp_tw_recycle tcp_tw_reuse与timewait【yetdone】
    动态代理,没有被代理对象
    一次jstack解决update停顿
    动态代理反向
    注解的继承
    51单片机状态机键盘检测
    28335scififo中断接收与发送
  • 原文地址:https://www.cnblogs.com/bk7788/p/5692145.html
Copyright © 2011-2022 走看看