欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

检测是否是移动端访问

程序员文章站 2022-06-07 11:39:09
...

检测是否是移动端访问。 摘自:http://www.e2003.net 无 function iswap(){// 如果有HTTP_X_WAP_PROFILE则一定是移动设备if (isset ($_SERVER['HTTP_X_WAP_PROFILE'])){return true;}//如果via信息含有wap则一定是移动设备,部分服务商会屏蔽该信息if (isset (

检测是否是移动端访问。
摘自:http://www.e2003.net
function iswap(){
	// 如果有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那一定是移动设备
		if ((strpos($_SERVER['HTTP_ACCEPT'], 'vnd.wap.wml') !== false) && (strpos($_SERVER['HTTP_ACCEPT'], 'text/html') === false || (strpos($_SERVER['HTTP_ACCEPT'], 'vnd.wap.wml')