php获取手机信息

不好说 2014-08-04 05:59:56
用php怎么获取 操作系统,浏览器类型以及手机型号?HTTP_USER_AGENT 里面的不太统一,有的有,有的没有。
...全文
599 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
somfy 2014-08-13
  • 打赏
  • 举报
回复
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;
}
if (isMobile ()) {
	Header ( "Location: mobile.php" );
	exit ();
}
不好说 2014-08-12
  • 打赏
  • 举报
回复
我标题里面说了HTTP_USER_AGENT这个拿的不标准,有的手机有,有的没有
码无边 2014-08-12
  • 打赏
  • 举报
回复
$_SERVER['HTTP_USER_AGENT']
傲雪星枫 2014-08-11
  • 打赏
  • 举报
回复
引用 3 楼 Castiel810 的回复:
为什么我在android上用浏览器 ,访问有些大型网站,它会自动识别出来我是android手机也,而且会自动显示出android app下载
那個就是user-agent獲取到的。
「已注销」 2014-08-11
  • 打赏
  • 举报
回复
为什么我在android上用浏览器 ,访问有些大型网站,它会自动识别出来我是android手机也,而且会自动显示出android app下载
vip632107671 2014-08-09
  • 打赏
  • 举报
回复
单纯靠php 只能通过UA 判断手机的类型。
傲雪星枫 2014-08-04
  • 打赏
  • 举报
回复
單靠php是獲取不到的,需要app的code獲取,然後傳出來給php。

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧