php 源码分享之获取客户端操作系统类型和浏览器类型
时间:2016-07-02
在网站用户数据统计的时候,我们经常需要获取用户浏览器的类型和操作系统的类型,本文章向大家介绍php如何使用环境变量HTTP_USER_AGENT获取客户端浏览器类型和操作系统类型,需要的朋友可以参考一下本文章的源代码。
PHP源代码如下:
<?
function browser_info ($agent) {
if (ereg( 'MSIE ([09].[09]{1,2})', $agent, $version)) :
$browse_type = "IE";
$browse_version = $version[1];
elseif (ereg( 'Opera ([09].[09]{1,2})', $agent, $version)) :
$browse_type = "Opera";
$browse_version = $version[1];
elseif (ereg( 'Mozilla/([09].[09]{1,2})', $agent, $version)) :
$browse_type = "Netscape";
$browse_version = $version[1];
else :
$browse_type = "Unknown";
$browse_version = "Unknown";
endif;
return array($browse_type, $browse_version);
}
function operatingsystem_info($agent) {
if ( strstr ($agent, 'Win') ) :
$operatingsystem = "Windows";
elseif ( strstr($agent, 'Linux') ) :
$operatingsystem = "Linux";
elseif ( strstr ($agent, 'Unix') ) :
$operatingsystem = "Unix";
elseif ( strstr ($agent,'Mac') ) :
$operatingsystem = "Macintosh";
else :
$operatingsystem = "Unknown";
endif;
return $operatingsystem;
}
$HTTP_USER_AGENT=getenv( "HTTP_USER_AGENT" );
list ($browse_type, $browse_version) = browser_info ($HTTP_USER_AGENT);
$operating_sys = operatingsystem_info ($HTTP_USER_AGENT);
print "浏览器类型: $browse_type <br>";
print "浏览器版本: $browse_version <br>";
print "操作系统类型: $operating_sys <br>";
?>
- python爬虫入门(四)利用多线程爬虫
- LOJ #115. 无源汇有上下界可行流
- 数据库改名系列(数据库名,逻辑名,物理文件名)
- BZOJ1468: Tree
- 洛谷P3806 【模板】点分治1
- 探索ASP.NET MVC5系列之~~~5.缓存篇(页面缓存+二级缓存)
- 洛谷P3383 【模板】线性筛素数(Miller_Rabin)
- BZOJ3667: Rabin-Miller算法
- Numpy 修炼之道 (2)—— N维数组 ndarray
- python爬虫入门(五)Selenium模拟用户操作
- python爬虫入门(六) Scrapy框架之原理介绍
- lambda表达式杂谈
- python爬虫入门(七)Scrapy框架之Spider类
- python爬虫入门(八)Scrapy框架之CrawlSpider类
- php概述
- php教程
- php环境搭建
- PHP书写格式
- php变量
- php常量
- PHP注释
- php数组
- php字符串 string
- PHP整型 integer
- PHP浮点型 float
- php布尔型
- php数据类型之数组
- php数据类型之对象
- php数据类型之null
- php数据类型之间的转换
- php运算符
- php表达式
- PHP循环控制
- PHP流程控制
- php函数
- php全局变量
- PHP魔术变量
- php命名空间
- php 日期
- PHP包含文件
- php文件
- PHP 文件上传
- php Cookies
- php Sessions
- php email
- php安全email
- php错误处理
- PHP异常处理
- php过滤器
- PHP 高级过滤器
- php json
- php 表单
- PHP MySQL 简介
- PHP 连接 MySQL
- php创建数据库
- php 创建表
- php mysq 插入数据
- PHP MySQL 插入多条数据
- PHP MySQL 预处理语句
- php mysql 读取数据
- php mysql where
- PHP MySQL Order By
- PHP MySQL Update
- PHP MySQL Delete
- php ODBC
- nacos做服务注册中心
- nacos做服务配置中心
- 使用gateway作服务网关
- 使用feign进行服务调用
- sentinel的实际应用
- SpringMVC异常的处理机制
- 刷面试题的正确姿势!Android400道面试题+通关知识宝典助你进大厂,查漏补缺
- 3分钟短文:Laravel路由加模型等于?
- TSF微服务无法查看JVM监控问题
- Mitmproxy 的安装与使用案例
- leetcode之Bigram分词
- TensorFlow2 开发指南 | 01 手写数字识别快速入门
- Spring 数据初始 H2 后进行数据查询提示 Schema not found 错误
- Discourse CentOS 8 全新安装手册
- H2 数据库插入时间的方法