function isMobile()
{
// 如果有HTTP_X_WAP_PROFILE则一定是移动设备
if (isset ($_SERVER[\'HTTP_X_WAP_PROFILE\']))
{
return true;
}
// 如果via信息含有wap则一定是移动设备,部分服务商会屏蔽该信息
if (isset ($_SERVER[\'HTTP_VIA\']))
{
// 找不到为flase,否则为true
return stristr($_SERVER[\'HTTP_VIA\'], "wap") ? true : false;
}
// 脑残法,判断手机发送的客户端标志,兼容性有待提高
if (isset ($_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\',
\'openwave\',
\'nexusone\',
\'cldc\',
\'midp\',
\'wap\',
\'mobile\'
);
// 从HTTP_USER_AGENT中查找手机浏览器的关键字
if (preg_match("/(" . implode(\'|\', $clientkeywords) . ")/i", strtolower($_SERVER[\'HTTP_USER_AGENT\'])))
{
return true;
}
}
// 协议法,因为有可能不准确,放到最后判断
if (isset ($_SERVER[\'HTTP_ACCEPT\']))
{
// 如果只支持wml并且不支持html那一定是移动设备
// 如果支持wml和html但是wml在html之前则是移动设备
if ((strpos($_SERVER[\'HTTP_ACCEPT\'], \'vnd.wap.wml\') !== false) && (strpos($_SERVER[\'HTTP_ACCEPT\'], \'text
ml\') === false || (strpos($_SERVER[\'HTTP_ACCEPT\'], \'vnd.wap.wml\') < strpos($_SERVER[\'HTTP_ACCEPT\'], \'text
ml\'))))
{
return true;
}
}
return false;
}
{
// 如果有HTTP_X_WAP_PROFILE则一定是移动设备
if (isset ($_SERVER[\'HTTP_X_WAP_PROFILE\']))
{
return true;
}
// 如果via信息含有wap则一定是移动设备,部分服务商会屏蔽该信息
if (isset ($_SERVER[\'HTTP_VIA\']))
{
// 找不到为flase,否则为true
return stristr($_SERVER[\'HTTP_VIA\'], "wap") ? true : false;
}
// 脑残法,判断手机发送的客户端标志,兼容性有待提高
if (isset ($_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\',
\'openwave\',
\'nexusone\',
\'cldc\',
\'midp\',
\'wap\',
\'mobile\'
);
// 从HTTP_USER_AGENT中查找手机浏览器的关键字
if (preg_match("/(" . implode(\'|\', $clientkeywords) . ")/i", strtolower($_SERVER[\'HTTP_USER_AGENT\'])))
{
return true;
}
}
// 协议法,因为有可能不准确,放到最后判断
if (isset ($_SERVER[\'HTTP_ACCEPT\']))
{
// 如果只支持wml并且不支持html那一定是移动设备
// 如果支持wml和html但是wml在html之前则是移动设备
if ((strpos($_SERVER[\'HTTP_ACCEPT\'], \'vnd.wap.wml\') !== false) && (strpos($_SERVER[\'HTTP_ACCEPT\'], \'text
{
return true;
}
}
return false;
}