php $_SERVER['HTTP_USER_AGENT'] 用法介绍
发布:smiling 来源: PHP粉丝网 添加日期:2014-03-06 14:04:50 浏览: 评论:0
在php中HTTP_USER_AGENT是用来获取用户相关信息,包括了用户浏览器,操作系统工程,是否安装了alex toolbar条哦,等信息,有需要了解的朋友可参考.
1.用户访问服务器时,利用PHP的超级全局变量$_SERVER数组中字['HTTP_USER_AGENT'] 获取访问用户的所有信息
实例代码如下:
- <?php
- echo $_SERVER['HTTP_USER_AGENT'];
- ?>
输出结果
Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; InfoPath.2; AskTbPTV/5.17.0.25589; Alexa Toolbar)
2.利用正则表达式匹配以上字符串,用户的浏览器 操作系统信息
3.PHP根据匹配后的字符串(用户的浏览器 操作系统信息),分配需要的CSS文件,JS等等…返回给用户
我的浏览器 操作系统信息
Browser: Chrome 5.0
Platform: Windows 7
实例代码如下:
- <?php
- //显示访问用户的浏览器信息
- echo 'Browser: ' . determinebrowser($Agent) . '<BR>';
- //显示访问用户的操作系统平台
- echo 'Platform: ' . determineplatform($Agent). '<BR>';
- //正值表达式比对解析$_SERVER['HTTP_USER_AGENT']中的字符串 获取访问用户的浏览器的信息
- function determinebrowser ($Agent) {
- $browseragent=""; //浏览器
- $browserversion=""; //浏览器的版本
- if (ereg('MSIE ([0-9].[0-9]{1,2})',$Agent,$version)) {
- $browserversion=$version[1];
- $browseragent="Internet Explorer";
- } else if (ereg( 'Opera/([0-9]{1,2}.[0-9]{1,2})',$Agent,$version)) {
- $browserversion=$version[1];
- $browseragent="Opera";
- } else if (ereg( 'Firefox/([0-9.]{1,5})',$Agent,$version)) {
- $browserversion=$version[1];
- $browseragent="Firefox";
- }else if (ereg( 'Chrome/([0-9.]{1,3})',$Agent,$version)) {
- $browserversion=$version[1];
- $browseragent="Chrome";
- }
- else if (ereg( 'Safari/([0-9.]{1,3})',$Agent,$version)) {
- $browseragent="Safari";
- $browserversion="";
- }
- else {
- $browserversion="";
- $browseragent="Unknown";
- }
- return $browseragent." ".$browserversion;
- }
- // 同理获取访问用户的浏览器的信息
- function determineplatform ($Agent) {
- $browserplatform=='';
- if (eregi('win',$Agent) && strpos($Agent, '95')) {
- $browserplatform="Windows 95";
- }
- elseif (eregi('win 9x',$Agent) && strpos($Agent, '4.90')) {
- $browserplatform="Windows ME";
- }
- elseif (eregi('win',$Agent) && ereg('98',$Agent)) {
- $browserplatform="Windows 98";
- }
- elseif (eregi('win',$Agent) && eregi('nt 5.0',$Agent)) {
- $browserplatform="Windows 2000";
- }
- elseif (eregi('win',$Agent) && eregi('nt 5.1',$Agent)) {
- $browserplatform="Windows XP";
- }
- elseif (eregi('win',$Agent) && eregi('nt 6.0',$Agent)) {
- $browserplatform="Windows Vista";
- }
- elseif (eregi('win',$Agent) && eregi('nt 6.1',$Agent)) {
- $browserplatform="Windows 7";
- }
- elseif (eregi('win',$Agent) && ereg('32',$Agent)) {
- $browserplatform="Windows 32";
- }
- elseif (eregi('win',$Agent) && eregi('nt',$Agent)) {
- $browserplatform="Windows NT";
- }elseif (eregi('Mac OS',$Agent)) {
- $browserplatform="Mac OS";
- }
- elseif (eregi('linux',$Agent)) {
- $browserplatform="Linux";
- }
- elseif (eregi('unix',$Agent)) {
- $browserplatform="Unix";
- }
- elseif (eregi('sun',$Agent) && eregi('os',$Agent)) {
- $browserplatform="SunOS";
- }
- elseif (eregi('ibm',$Agent) && eregi('os',$Agent)) {
- $browserplatform="IBM OS/2";
- }
- elseif (eregi('Mac',$Agent) && eregi('PC',$Agent)) {
- $browserplatform="Macintosh";
- }
- elseif (eregi('PowerPC',$Agent)) {
- $browserplatform="PowerPC";
- }
- elseif (eregi('AIX',$Agent)) {
- $browserplatform="AIX";
- }
- elseif (eregi('HPUX',$Agent)) {
- $browserplatform="HPUX";
- }
- elseif (eregi('NetBSD',$Agent)) {
- $browserplatform="NetBSD";
- }
- elseif (eregi('BSD',$Agent)) {
- $browserplatform="BSD";
- }
- elseif (ereg('OSF1',$Agent)) {
- $browserplatform="OSF1";
- }
- elseif (ereg('IRIX',$Agent)) {
- $browserplatform="IRIX";
- }
- elseif (eregi('FreeBSD',$Agent)) {
- $browserplatform="FreeBSD";
- }
- if ($browserplatform=='') {$browserplatform = "Unknown"; }
- return $browserplatform;
- }
- ?>
判断浏览器语言的具体程序如下,实例代码如下:
- <?php
- $lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 4); //只取前4位,这样只判断最优先的语言.如果取前5位,可能出现en,zh的情况,影响判断.
- if (preg_match("/zh-c/i", $lang))
- echo "简体中文";
- else if (preg_match("/zh/i", $lang))
- echo "繁?中文";
- else if (preg_match("/en/i", $lang))
- echo "English";
- else if (preg_match("/fr/i", $lang))
- echo "French";
- else if (preg_match("/de/i", $lang))
- echo "German";
- else if (preg_match("/jp/i", $lang))
- echo "Japanese";
- else if (preg_match("/ko/i", $lang))
- echo "Korean";
- else if (preg_match("/es/i", $lang))
- echo "Spanish";
- else if (preg_match("/sv/i", $lang))
- echo "Swedish";
- else echo $_SERVER["HTTP_ACCEPT_LANGUAGE"];
- ?>
判断浏览器类型主要是靠分析_SERVER["HTTP_USER_AGENT"]的内容,而分析浏览器语言则是分析_SERVER["HTTP_ACCEPT_LANGUAGE"].
Tags: $_SERVER[ HTTP_USER_AGENT ] 用法
相关文章
- ·PHP 是什么?(2013-11-12)
- ·Php.ini文件位置在哪里 Php.ini文件找不到(2013-11-12)
- ·点击浏览器的后退按钮后,所有字段的信息都被清空了?(2013-11-12)
- ·PHP 数据类型(2013-11-12)
- ·php 获取当前脚本的url(2013-11-12)
- ·php技术生成静态页面的实现(2013-11-13)
- ·缺陷月项目启动 披露PHP脚本语言漏洞(2013-11-13)
- ·在PHP中全面阻止SQL注入式攻击(2013-11-13)
- ·php生成随机密码的几种方法(2013-11-13)
- ·PHP中使用FCKeditor2.3.2配置(2013-11-13)
- ·如何使用PHP开发高效的WEB系统(2013-11-13)
- ·php过滤危险html代码(2013-11-13)
- ·php:树形结构的算法(2013-11-13)
- ·php4和php5区别(2013-11-13)
- ·php数据库连接(2013-11-13)
- ·如何正确理解PHP的错误信息(2013-11-13)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)