`

php判断客户端浏览器的类型

    博客分类:
  • PHP
阅读更多

php判断客户端浏览器的类型

1、通过 $_SERVER['HTTP_USER_AGENT'] 来写一个php判断浏览器类型的办法。

function my_get_browser(){
	if(empty($_SERVER['HTTP_USER_AGENT'])){
		return '命令行,机器人来了!';
	}
	if(false!==strpos($_SERVER['HTTP_USER_AGENT'],'MSIE 9.0')){
		return 'Internet Explorer 9.0';
	}
	if(false!==strpos($_SERVER['HTTP_USER_AGENT'],'MSIE 8.0')){
		return 'Internet Explorer 8.0';
	}
	if(false!==strpos($_SERVER['HTTP_USER_AGENT'],'MSIE 7.0')){
		return 'Internet Explorer 7.0';
	}
	if(false!==strpos($_SERVER['HTTP_USER_AGENT'],'MSIE 6.0')){
		return 'Internet Explorer 6.0';
	}
	if(false!==strpos($_SERVER['HTTP_USER_AGENT'],'Firefox')){
		return 'Firefox';
	}
	if(false!==strpos($_SERVER['HTTP_USER_AGENT'],'Chrome')){
		return 'Chrome';
	}
	if(false!==strpos($_SERVER['HTTP_USER_AGENT'],'Safari')){
		return 'Safari';
	}
	if(false!==strpos($_SERVER['HTTP_USER_AGENT'],'Opera')){
		return 'Opera';
	}
	if(false!==strpos($_SERVER['HTTP_USER_AGENT'],'360SE')){
		return '360SE';
	}
}

这里主要用到了 $_SERVER['HTTP_USER_AGENT'],这个常量是用来检查浏览页面的访问者在用什么操作系统(包括版本号)浏览器(包括版本号)和用户个人偏好。用法很简单,自己在程序里面打印出来看看就明白了。

2、另外 php 判断浏览器的类型还可以通过 php 系统函数 get_browser() 函数,这个函数将会返回用户浏览器的一些性能数据。该函数通过查阅用户的 browscap.ini 文件,来测定用户浏览器的性能。若成功,则该函数返回包含用户浏览器信息的一个对象或一个数组,若失败,则返回 false。

get_browser 语法

get_browser(user_agent,return_array)

这个函数有两个参数,参数意义解释如下:

user_agent 可选。规定 HTTP 用户代理的名称。默认是 $HTTP_USER_AGENT 的值。您可以通过设置 NULL 绕过该参数。

return_array 可选。如果该参数设置为 true,本函数会返回一个数组而不是对象。

对于 php 通过 $_SERVER['HTTP_USER_AGENT'] 和 get_browser 获取的浏览器信息,我们可以通过如下例子来认识一下:

<?php
echo $_SERVER['HTTP_USER_AGENT'] . "<br /><br />";
$browser = get_browser(null,true);
print_r($browser);
?>

结果将输出:

Mozilla/4.0
(compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)

Array(
[browser_name_regex] => ^mozilla/.\.0
(compatible; msie 6\.0.*;.*windows nt 5\.1.*\.net clr.*).*$
[browser_name_pattern] => Mozilla/?.0
(compatible; MSIE 6.0*;*Windows NT 5.1*.NET CLR*)*
[parent] => IE 6.0
[platform] => WinXP
[netclr] => 1
[browser] => IE
[version] => 6.0
[majorver] => 6
[minorver] => 0
[css] => 2
[frames] => 1
[iframes] => 1
[tables] => 1
[cookies] => 1
[backgroundsounds] => 1
[vbscript] => 1
[javascript] => 1
[javaapplets] => 1
[activexcontrols] => 1
[cdf] => 1
[aol] =>
[beta] =>
[win16] =>
[crawler] =>
[stripper] =>
[wap] =>
[ak] =>
[sk] =>
)

但是通过PHP的get_browser()函数获取客户端浏览器相关信息是有条件的,如果你直接使用一般会报出如下这个错误:

Warning: get_browser() [function.get-browser]: browscap ini directive not set in ……

通过查询 php 手册,得到的解释是:为了使用这个函数,你必须在php.ini文件里面增加一句指向 browscap.ini 文件的配置,browscap.ini文件里面记录了所有已存在的浏览器的类型及其信息,所以你要下载最新的这个文件,下载browscap.ini后放到服务器某个位置,get_browser()在使用时就是将获取的客户端信息与此文件进行对比,如果能找到,则返回相应类型。

由上看来要想使用 get_browser() 获取浏览器类型代价不小啊!

3、另外还有一种php判断浏览器类型的办法,即使用一个国外牛人写的开源代码。国外有个叫mavrick的网站,上面有关于浏览器的项目,一直更新所写的Browser类,我最新看到的这个类可以获取包括iPhone、BlackBerry、win、mac、linux、OS、BeOS等平台上的浏览器信息,功能可以说是十分强大。下载这个文件时要根据自己使用的PHP版本去选择。该类的具体代码自己去下载研究:

browser-v1-9

 这个类的使用方法也很简单,如下:

$obj_browser = new Browser; //创建一个此类的一个实例
$obj_browser->getBrowser(); //调用相关函数,获取浏览器名称
$obj_browser->getPlatform(); //调用相关函数,获取系统名称
$obj_browser->isMobile(); //判断来访者所用设备是iPhone、iPad或者电脑(PC)

转自:http://mychange.name/archives/20 

 

分享到:
评论

相关推荐

    php客户端浏览器判断

    客户端浏览器判断客户端浏览器判断客户端浏览器判断客户端浏览器判断客户端浏览器判断客户端浏览器判断客户端浏览器判断

    根据User Agent String判断客户端平台及浏览器源程序[Java和PHP版]

    本资源提供了基于Java和PHP的解决方案,帮助开发者解析和识别UA字符串,从而判断客户端平台及浏览器源程序。 首先,我们来看Java版的实现。Java作为一款广泛应用的编程语言,其强大的库和工具使得处理UA字符串变得...

    PHP获得客户端浏览器的名称及版本1

    在本文中,我们将探讨如何使用PHP获取客户端浏览器的名称和版本信息。这个过程涉及到解析HTTP_USER_AGENT头,这是一个由用户代理发送到服务器的字符串,包含了浏览器的详细信息。我们将使用PHP 7中的全局数组`$_...

    php判断浏览器和操作系统类型

    #### 一、PHP判断浏览器类型 ### 1.1 基础原理 在HTTP请求中,客户端会向服务器发送一个名为`User-Agent`的头信息,这个信息包含了客户端(通常是浏览器)的相关信息。我们可以通过分析`User-Agent`字符串来识别...

    基于php判断客户端类型

    本文详细介绍PHP判断客户端类型的方法,并介绍一些常用的客户端类型判断策略。 首先,PHP提供了$_SERVER数组,其中的'HTTP_USER_AGENT'字段包含了用户浏览器和操作系统的相关信息。用户代理字符串(User-Agent ...

    判断浏览器是否是手机浏览器的源码(php)

    标题提到的"判断浏览器是否是手机浏览器的源码(php)",就是这样一个功能的实现。 这段PHP源码,即`mobile_device_detect.php`,通常会包含一系列的条件判断和正则表达式,用于识别各种手机浏览器发送的User-Agent...

    php获得客户端浏览器名称及版本的方法(基于ECShop函数)

    本文将介绍如何使用PHP获得客户端浏览器名称及版本的方法,特别基于ECShop框架中提供的一个函数:get_user_browser()。 首先,我们需要了解HTTP协议中的User-Agent(用户代理)字段。User-Agent是HTTP请求头中的一...

    通过JS和PHP两种方法判断用户请求时使用的浏览器类型

    本文将介绍两种方法,即利用JavaScript(简称JS)和PHP(Hypertext Preprocessor,一种广泛使用的开源脚本语言),来判断用户请求时所使用的浏览器类型。 首先,我们来谈谈浏览器的UserAgent字符串。UserAgent是...

    PHP判断当前使用的是什么浏览器(推荐)

    总结起来,通过PHP判断当前使用的浏览器类型是一个相对简单的任务,它主要依赖于HTTP_USER_AGENT头部信息。开发者可以根据这些信息来判断使用的是哪一种浏览器,从而在网站的维护和优化工作中做出相应的决策。不过,...

    浏览器和平台及是否手机判断

    2. `getBrowser()`: 此方法返回用户使用的浏览器类型及其版本号。这通常涉及到解析User-Agent字符串中的浏览器名称和版本信息。 3. `getOS()`: 这个方法可以识别出用户运行的操作系统,如Windows、iOS、Android等。...

    php实现读取手机客户端浏览器的类

    【PHP实现读取手机客户端浏览器的类】 在PHP开发中,有时我们需要获取手机客户端的相关信息,比如手机号码、浏览器头部信息、手机类型以及IP地址等。为了方便处理这些需求,可以编写一个专门的PHP类来实现这些功能...

    PHP判断浏览器、判断语言代码分享

    首先,我们来看看如何使用PHP判断浏览器类型。浏览器信息通常包含在$_SERVER['HTTP_USER_AGENT']变量中,它记录了用户使用的浏览器类型及其版本信息。例如,IE 8.0的标识字符串是"MSIE8.0"。使用strpos函数,我们...

    php文件上传大小客户端判断

    标题"php文件上传大小客户端判断"指的是在客户端(通常是用户浏览器)对文件上传大小进行预判,而不是依赖服务器端的PHP配置。这样可以提前过滤掉超出限制的文件,减轻服务器的负担。 描述中提到的方法,是通过...

    PHP获取浏览器信息类和客户端地理位置的2个方法

    通过上面的介绍,我们可以了解到,在PHP开发中,通过特定的类和方法,我们可以较为方便地获取客户端浏览器和地理位置等信息,这对于进行用户分析、提供个性化内容以及实现安全策略等具有重要的意义。同时,这些技术...

    asp.net 获取客户端浏览器访问的IP地址的实例代码

    在ASP.NET中,获取客户端浏览器访问的IP地址是常见的需求,尤其在进行用户访问权限控制、数据分析或地理位置定位时。本文将详细介绍两种方法来获取这一信息:JavaScript 和 ASP.NET 后台代码。 1. JavaScript方法:...

    使用php判断浏览器的类型和语言的函数代码

    为了判断浏览器类型,我们可以使用PHP的 `strpos()` 函数来检查 `$_SERVER["HTTP_USER_AGENT"]` 是否包含特定的字符串。例如,如果字符串中包含 "MSIE 8.0",则表示用户可能正在使用IE8。通过这种方式,我们可以针对...

    使用php检测用户当前使用的浏览器是否为IE浏览器

    因此,除了判断浏览器类型之外,更应该关注浏览器的功能支持。 4. 浏览器检测应该作为一种补充措施,尽可能地通过CSS和JavaScript的特性检测来实现Web内容的兼容性。 最后,虽然直接通过User-Agent字符串检测用户的...

    PHP判断是手机端还是PC端 PHP判断是否是微信浏览器

    本文详细介绍了在PHP中判断用户访问是来自于手机端还是PC端的方法,以及如何检测访问是否来自于微信内置浏览器。这些技术在开发响应式网页设计或者针对不同设备进行优化时非常有用。 首先,在判断是否是手机端方面...

    用于tus可恢复文件上传协议v100的纯PHP服务器和客户端

    【标题】:“用于tus可恢复文件上传协议v100的纯PHP服务器和客户端”指的是一项基于PHP实现的、支持tus v1.0.0协议的文件上传解决方案。tus是一种开放源代码的文件上传协议,设计用于允许用户在因网络问题中断后从...

    php入口文件自动判断手机web端跳转

    不过,如果配合PHP使用,可以在客户端进行初步判断,然后通过Ajax向服务器发送一个信号,让PHP做出最终决定。例如: ```javascript var isMobile = /Mobi|Android/i.test(navigator.userAgent); if (isMobile) { $...

Global site tag (gtag.js) - Google Analytics