php判断当前浏览设备是否是手机

今天看到一个php判断是否是手持设备的代码,

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/html‘) === false || (strpos($_SERVER[‘HTTP_ACCEPT‘], ‘vnd.wap.wml‘) < strpos($_SERVER[‘HTTP_ACCEPT‘], ‘text/html‘)))){
			return true;
		}
	}
	return false;
}
时间: 2025-01-07 21:33:57

php判断当前浏览设备是否是手机的相关文章

判断使用浏览设备的类型

判断是ios还是android if (/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)) { //alert(navigator.userAgent); window.location.href ="iPhone.html"; } else if (/(Android)/i.test(navigator.userAgent)) { //alert(navigator.userAgent); window.location.href

【javascript】判断浏览设备是手机还是电脑

判断页面浏览设备是手机还是电脑,代码如下: function browserRedirect() { var sUserAgent = navigator.userAgent.toLowerCase(); var bIsIpad = sUserAgent.match(/ipad/i) == "ipad"; var bIsIphoneOs = sUserAgent.match(/iphone os/i) == "iphone os"; var bIsMidp = sU

js判断用户的浏览设备是移动设备还是PC

<script type="text/javascript"> function browserRedirect() { var sUserAgent = navigator.userAgent.toLowerCase(); var bIsIpad = sUserAgent.match(/ipad/i) == "ipad"; var bIsIphoneOs = sUserAgent.match(/iphone os/i) == "iphone

JS判断是什么设备是什么浏览器-主要用移动页面开发

支持手机上的所有浏览器,下面可在线浏览代码 <!DOCTYPE html><html> <head> <title>JS判断是什么设备是什么浏览器-webkfa.com</title> <meta charset="utf-8"> <meta name="apple-touch-fullscreen" content="YES" /> <meta name=

php判断页面是电脑登录还是手机登录

首先说最根本的解决方法: 手机访问时,会附带发送user-agent信息,这个信息里面会有手机号码信息,那么如果能取得手机号码,则可以肯定是通过手机wap访问的.但是目前 中国移动已经屏蔽了user-agent信息,所以获取不到手机号码.有关系的朋友可以联系移动公司,把wap网站服务器的ip提交给中国移动,加入白名 单后即可取得ua信息.目前中国联通可以直接取到手机号,对联通用户此方案可完美实施. 接下来说我的解决方案: 手机访问,原理是手机通过移动公司的代理服务器进行的访问.那么我们就可以理解

判断不同IOS设备

var iOSGen = iPhone.generation; if (Debug.isDebugBuild) { Debug.Log("iPhone.generation : " + iPhone.generation); Debug.Log("SystemInfo.deviceType : " + SystemInfo.deviceType); Debug.Log("SystemInfo.deviceModel: " + SystemInfo

C# 判断是否移动设备。

/// <summary> /// 判断是否移动设备. /// </summary> /// <returns></returns> public static bool IsMobileDevice() { string[] mobileAgents = { "iphone", "android", "phone", "mobile", "wap", &qu

navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)) 判断是不是 移动设备 &#39;ontouchstart&#39; in window; 判断支不支

navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)) 判断是不是 移动设备 'ontouchstart' in window; 判断支不支触屏 navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)) 判断是不是 移动设备 'ontouchstart' in window; 判断支不支

判断是不是移动设备

// 判断是不是移动设备var isMobile = { Android: function() { return navigator.userAgent.match(/Android/i) ? true : false; }, BlackBerry: function() { return navigator.userAgent.match(/BlackBerry/i) ? true : false; }, iOS: function() { return navigator.userAgen