首页 > php开发 > php判断客户端是手机设备然后跳转到手机站

php判断客户端是手机设备然后跳转到手机站

现在手机移动互联网已经超过PC了,很多网站都做了手机网站,包括我的小站,这里有一个问题,如果客户直接拿手机打开我的主域名,我该如何做出判断然后跳转到手机网站呢?以下两个函数就可以做到这一点.

以下是我正在用的函数,不过好像在iphone上有点问题,如果你有更好的解决方案,可以留言发给我,不尽感激,代码如下:

// 如果是手机设置,跳转到手机页面 
if (isMobile ()) { 
	Header ( "Location: mobile.php" ); 
	exit (); 
} 
/** 
 * 判断用户是否为移动用户,可以判断iphone,Android,Windows Mobile和一般的手机系统 
 */ 
function isMobile(){ 
	// 判断 iphone 和 ipad,不跳转 
	$userAgent = $_SERVER['HTTP_USER_AGENT']; 
	if(strpos($userAgent, "iPhone") ||  
		strpos($userAgent, "iPad") ||  
		strpos($userAgent, "iPod") ||  
		strpos($userAgent, "iOS")){ 
		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/html') === false || (strpos($_SERVER['HTTP_ACCEPT'], 'vnd.wap.wml') < strpos($_SERVER['HTTP_ACCEPT'], 'text/html')))) { 
			return true; 
		} 
	} 
	return false; 
}


本文地址:http://www.phprm.com/develop/fs9082.html

转载随意,但请附上文章地址:-)

标签:php手机客户端 php跳转手机站

发表留言