服务器端如何判断客户端是不是手机

来源:互联网 发布:复杂网络算法matlab 编辑:程序博客网 时间:2024/05/17 02:39

最近开发我们网站的手机版,采用了这样的模式实现:

根据客户端浏览器user agent判断用户浏览器类型,如果用户使用的是手机访问,则给用户展示手机端模板。注意,我们这里pc端和手机端采用的是同一套系统,

比如pc端网站为http://aaron.com,手机也访问http://aaron.com,只是跟对浏览器类型向客户端发送不同的页面。

废话就到这里,直接上代码,此段代码用来辨别是不是手机端

[php] view plaincopyprint?在CODE上查看代码片派生到我的代码片

/**
* 判断是否是通过手机访问
* @return bool 是否是移动设备
*/
public function isMobile() {
//判断手机发送的客户端标志
if(isset($_SERVER['HTTP_USER_AGENT'])) {
$userAgent = strtolower($_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', 'opera mobi', 'openwave', 'nexusone', 'cldc', 'midp', 'wap', 'mobile'
);
// 从HTTP_USER_AGENT中查找手机浏览器的关键字
if(preg_match("/(".implode('|',$clientkeywords).")/i",$userAgent)&&strpos($userAgent,'ipad') === false)
{
return true;
}
}
return false;
}

0 0