• 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异常处理
    java基础知识和面试
    mysql 坐标查询计算距离
    TypeScript设计模式之工厂
    TypeScript设计模式之单例、建造者、原型
    从C#到TypeScript
    从C#到TypeScript
    【译】Nodejs最好的ORM
    【开源】NodeJS仿WebApi路由
    从C#到TypeScript
  • 原文地址:https://www.cnblogs.com/bk7788/p/5692145.html
Copyright © 2020-2023  润新知