码迷,mamicode.com
首页 > 移动开发 > 详细

判断客户端是电脑还是手机

时间:2014-11-16 13:22:49      阅读:228      评论:0      收藏:0      [点我收藏+]

标签:android   cWeb   http   io   ar   os   sp   on   art   

  用php判断客户端是手机还是电脑?其实很简单,通过浏览器访问网站时,浏览器会向服务器发送UA即(用户代理)。不同浏览器或者同一浏览器的不同版本、手机浏览器、电脑浏览器的UA都是不一样的。我们只要写代程序获取这段UA,然后判断UA是什么,然后就可以区分出客户端是手机还是电脑了。

  function is_mobile(){

  //正则表达式,批配不同手机浏览器UA关键词。

  $regex_match=”/(nokia|iphone|android|motorola|^mot\-|softbank|foma|docomo|kddi|up\.browser|up\.link|”;

  http://www.douban.com/note/452245423/

  http://www.douban.com/note/452246041/

  $regex_match.=”htc|dopod|blazer|netfront|helio|hosin|huawei|novarra|CoolPad|webos|techfaith|palmsource|”;

  $regex_match.=”blackberry|alcatel|amoi|ktouch|nexian|samsung|^sam\-|s[cg]h|^lge|ericsson|philips|sagem|wellcom|bunjalloo|maui|”;

  $regex_match.=”symbian|smartphone|midp|wap|phone|windows ce|iemobile|^spice|^bird|^zte\-|longcos|pantech|gionee|^sie\-|portalmmm|”;

  $regex_match.=”jig\s browser|hiptop|^ucweb|^benq|haier|^lct|opera\s*mobi|opera\*mini|320×320|240×320|176×220″;

  $regex_match.=”)/i”;

  return isset($_SERVER[‘HTTP_X_WAP_PROFILE‘]) or isset($_SERVER[‘HTTP_PROFILE‘]) or preg_match($regex_match, strtolower($_SERVER[‘HTTP_USER_AGENT‘]));

  //如果UA中存在上面的关键词则返回真。

  }

  调用

  if($this->is_mobile()) {

  //如果为真,则进行WAP页面。

  header( “HTTP/1.1 301 Moved Permanently”);

  header(“Location: http://wap”);

  }else {

  //如果为假,则进行WEB页面。

  header( “HTTP/1.1 301 Moved Permanently”);

  header(“Location: http://pc”);

  }

判断客户端是电脑还是手机

标签:android   cWeb   http   io   ar   os   sp   on   art   

原文地址:http://www.cnblogs.com/liuxinyufx/p/4101286.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!