php判断是否是手机或移动端访问

本文介绍了一个用于检测HTTP_USER_AGENT中是否包含移动端标识的函数,通过正则表达式匹配多种移动端操作系统和特征令牌来判断请求来源是否为移动端。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

function is_mobile(){
	$useragent = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : '';
	$useragent_commentsblock = preg_match('|\(.*?\)|', $useragent, $matches) > 0 ? $matches[0] : '';
	$mobile_os_list = array(
		'Google Wireless Transcoder',
		'Windows CE',
		'WindowsCE',
		'Symbian',
		'Android',
		'armv6l',
		'armv5',
		'Mobile',
		'CentOS',
		'mowser',
		'AvantGo',
		'Opera Mobi',
		'J2ME/MIDP',
		'Smartphone',
		'Go.Web',
		'Palm',
		'iPAQ'
	);

	$mobile_token_list = array(
		'Profile/MIDP',
		'Configuration/CLDC-',
		'160×160',
		'176×220',
		'240×240',
		'240×320',
		'320×240',
		'UP.Browser',
		'UP.Link',
		'SymbianOS',
		'PalmOS',
		'PocketPC',
		'SonyEricsson',
		'Nokia',
		'BlackBerry',
		'Vodafone',
		'BenQ',
		'Novarra-Vision',
		'Iris',
		'NetFront',
		'HTC_',
		'Xda_',
		'SAMSUNG-SGH',
		'Wapaka',
		'DoCoMo',
		'iPhone',
		'iPod',
		'iPad',
		'HUAWEI',
		'Coolpad'
	);
	
	foreach($mobile_os_list as $os){
		if(strpos($useragent_commentsblock, $os) !== false){
			return true;
		}
	}
	foreach($mobile_token_list as $token){
		if(strpos($useragent_commentsblock, $token) != false){
			return true;
		}
	}
	return false;
}


函数返回true表示是移动端,否则不是

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值