PHP获取用户的浏览器与操作系统信息的代码
1.用户访问服务器时,利用PHP的超级全局变量$_SERVER数组中字段["HTTP_USER_AGENT"]获取访问用户的所有信息
我访问时的$_SERVER["HTTP_USER_AGENT"]字符串:
Mozilla/5.0(Windows;U;WindowsNT6.1;en-US)AppleWebKit/533.2(KHTML,likeGecko)Chrome/5.0.342.3Safari/533.2
2.利用正则表达式匹配以上字符串,用户的浏览器操作系统信息
3.PHP根据匹配后的字符串(用户的浏览器操作系统信息),分配需要的CSS文件,JS等等…返回给用户
我的浏览器操作系统信息
Browser:Chrome5.0
Platform:Windows7
代码如下:
<?php
//显示访问用户的浏览器信息
echo"Browser:".determinebrowser($Agent)."<BR>";
//显示访问用户的操作系统平台
echo"Platform:".determineplatform($Agent)."<BR>";
//正值表达式比对解析$_SERVER["HTTP_USER_AGENT"]中的字符串获取访问用户的浏览器的信息
functiondeterminebrowser($Agent){
$browseragent=""; //浏览器
$browserversion="";//浏览器的版本
if(ereg("MSIE([0-9].[0-9]{1,2})",$Agent,$version)){
$browserversion=$version[1];
$browseragent="InternetExplorer";
}elseif(ereg("Opera/([0-9]{1,2}.[0-9]{1,2})",$Agent,$version)){
$browserversion=$version[1];
$browseragent="Opera";
}elseif(ereg("Firefox/([0-9.]{1,5})",$Agent,$version)){
$browserversion=$version[1];
$browseragent="Firefox";
}elseif(ereg("Chrome/([0-9.]{1,3})",$Agent,$version)){
$browserversion=$version[1];
$browseragent="Chrome";
}
elseif(ereg("Safari/([0-9.]{1,3})",$Agent,$version)){
$browseragent="Safari";
$browserversion="";
}
else{
$browserversion="";
$browseragent="Unknown";
}
return$browseragent."".$browserversion;
}
//同理获取访问用户的浏览器的信息
functiondetermineplatform($Agent){
$browserplatform=="";
if(eregi("win",$Agent)&&strpos($Agent,"95")){
$browserplatform="Windows95";
}
elseif(eregi("win9x",$Agent)&&strpos($Agent,"4.90")){
$browserplatform="WindowsME";
}
elseif(eregi("win",$Agent)&&ereg("98",$Agent)){
$browserplatform="Windows98";
}
elseif(eregi("win",$Agent)&&eregi("nt5.0",$Agent)){
$browserplatform="Windows2000";
}
elseif(eregi("win",$Agent)&&eregi("nt5.1",$Agent)){
$browserplatform="WindowsXP";
}
elseif(eregi("win",$Agent)&&eregi("nt6.0",$Agent)){
$browserplatform="WindowsVista";
}
elseif(eregi("win",$Agent)&&eregi("nt6.1",$Agent)){
$browserplatform="Windows7";
}
elseif(eregi("win",$Agent)&&ereg("32",$Agent)){
$browserplatform="Windows32";
}
elseif(eregi("win",$Agent)&&eregi("nt",$Agent)){
$browserplatform="WindowsNT";
}elseif(eregi("MacOS",$Agent)){
$browserplatform="MacOS";
}
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="IBMOS/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-实现微信回复天气情况
- PHP 面向对象知识点
- PHP- 复合数据类型-可调用类型(一)
- [PHP] apache在worker模式配置fastcgi使用php-fpm详解编程语言
- 技术实现的网络系统PHP和MySQL结合:搭建网络系统的利器.(基于php和mysql)
- 数据深入PHP:从MySQL获取表数据(php获取mysql表)
- PHP连接MSSQL库的方法(php链接mssql)
- Linux操作系统下卸载PHP的步骤(linux卸载php)
- PHP与MySQL结合使用实现关联查询的方法(php关联mysql查询)
- PHP中使用Redis简单取值(redis取值php)
- PHP实现Oracle数据库连接(php支持oracle)
- 学习PHP提升Linux技能(php学linux)
- Linux操作系统下的PHP编译器使用技巧(linux php编译器)
- PHP连接Microsoft SQL Server数据库技巧(php 连 mssql)
- 用PHP访问本地MSSQL数据库的实现方法(php访问本地mssql)
- Linux环境下的PHP脚本开发与应用(linux下php脚本)
- 基于PHP的Redis队列监控实践(redis队列监控php)
- PHP入门速成教程
- PHP入门学习的几个不错的实例代码
- PHP发明人谈MVC和网站设计架构貌似他不支持php用mvc
- php入门学习知识点六PHP文件的读写操作代码
- 第四章php数学运算
- PHP图片验证码制作实现分享(全)
- php中通过curlsmtp发送邮件
- php保存二进制原始数据为图片的程序代码