php通过$_SERVER['HTTP_USER_AGENT']获取浏览器相关参数
最近不忙,同事在忙一个app项目。当听到领导安排让他做一个判断苹果还是安卓手机,如果是安卓手机下载安卓app。如果是苹果手机下载苹果app;然后我就上网搜了一下学习学习;
php通过$_SERVER['HTTP_USER_AGENT']可以获取浏览器很多相关的参数;
//获取浏览器
function getBrowse()
{
global $_SERVER;
$Agent = $_SERVER['HTTP_USER_AGENT'];
$browseinfo='';
if(ereg('Mozilla', $Agent) && !ereg('MSIE', $Agent)){
$browseinfo = 'Netscape Navigator';
}
if(ereg('Opera', $Agent)) {
$browseinfo = 'Opera';
}
if(ereg('Mozilla', $Agent) && ereg('MSIE', $Agent)){
$browseinfo = 'Internet Explorer';
}
if(ereg('Chrome', $Agent)){
$browseinfo="Chrome";
}
if(ereg('Safari', $Agent)){
$browseinfo="Safari";
}
if(ereg('Firefox', $Agent)){
$browseinfo="Firefox";
}
return $browseinfo;
}
//获取ip
function getIP ()
{
global $_SERVER;
if (getenv('HTTP_CLIENT_IP')) {
$ip = getenv('HTTP_CLIENT_IP');
} else if (getenv('HTTP_X_FORWARDED_FOR')) {
$ip = getenv('HTTP_X_FORWARDED_FOR');
} else if (getenv('REMOTE_ADDR')) {
$ip = getenv('REMOTE_ADDR');
} else {
$ip = $_SERVER['REMOTE_ADDR'];
}
return $ip;
}
//获取用户系统
function getOS ()
{
global $_SERVER;
$agent = $_SERVER['HTTP_USER_AGENT'];
$os = false;
if (eregi('win', $agent) && strpos($agent, '95')){
$os = 'Windows 95';
}elseif (eregi('win 9x', $agent) && strpos($agent, '4.90')){
$os = 'Windows ME';
}elseif (eregi('win', $agent) && ereg('98', $agent)){
$os = 'Windows 98';
}elseif (eregi('win', $agent) && eregi('nt 5.1', $agent)){
$os = 'Windows XP';
}elseif (eregi('win', $agent) && eregi('nt 5.2', $agent)){
$os = 'Windows 2003';
}elseif (eregi('win', $agent) && eregi('nt 5', $agent)){
$os = 'Windows 2000';
}elseif (eregi('win', $agent) && eregi('nt', $agent)){
$os = 'Windows NT';
}elseif (eregi('win', $agent) && ereg('32', $agent)){
$os = 'Windows 32';
}elseif (eregi('linux', $agent)){
$os = 'Linux';
}elseif (eregi('unix', $agent)){
$os = 'Unix';
}elseif (eregi('sun', $agent) && eregi('os', $agent)){
$os = 'SunOS';
}elseif (eregi('ibm', $agent) && eregi('os', $agent)){
$os = 'IBM OS/2';
}elseif (eregi('Mac', $agent) && eregi('PC', $agent)){
$os = 'Macintosh';
}elseif (eregi('PowerPC', $agent)){
$os = 'PowerPC';
}elseif (eregi('AIX', $agent)){
$os = 'AIX';
}elseif (eregi('HPUX', $agent)){
$os = 'HPUX';
}elseif (eregi('NetBSD', $agent)){
$os = 'NetBSD';
}elseif (eregi('BSD', $agent)){
$os = 'BSD';
}elseif (ereg('OSF1', $agent)){
$os = 'OSF1';
}elseif (ereg('IRIX', $agent)){
$os = 'IRIX';
}elseif (eregi('FreeBSD', $agent)){
$os = 'FreeBSD';
}elseif (eregi('teleport', $agent)){
$os = 'teleport';
}elseif (eregi('flashget', $agent)){
$os = 'flashget';
}elseif (eregi('webzip', $agent)){
$os = 'webzip';
}elseif (eregi('offline', $agent)){
$os = 'offline';
}else{
$os = 'Unknown';
}
return $os;
}
php通过$_SERVER['HTTP_USER_AGENT']获取浏览器相关参数的更多相关文章
- php通过$_SERVER['HTTP_USER_AGENT']获取浏览器useAgent
php通过$_SERVER['HTTP_USER_AGENT']获取浏览器useAgent
- Asp获取网址相关参数大全
Asp获取网址相关参数大全 代码一:[获取地址中的文件名,不包含扩展名]<%dim Url,FileName,File Url=split(request.servervariables(& ...
- 获取浏览器url参数
//获取浏览器url参数 var methods ={ getQueryString: function (name) { var reg = new RegExp('(^|&)' + nam ...
- vue获取浏览器地址栏参数(?及/)路由+非路由实现方式
1.? 参数 浏览器参数形式:http://javam4.com/m4detail?id=1322914793170014208 1.1.路由取参方式 this.$route.query.id 前端跳 ...
- jquery获取浏览器URL参数
getRequestParams:function(param){ var reg = new RegExp("(^|&)" + param + "=([^&am ...
- 【转】javascript浏览器参数的操作,js获取浏览器参数
原文地址:http://www.haorooms.com/post/js_url_canshu html5修改浏览器地址:http://www.cnblogs.com/JiangXiaoTian/ar ...
- 判断浏览器的类型$_SERVER['HTTP_USER_AGENT']和语言$_SERVER['HTTP_ACCEPT_LANGUAGE']
判断浏览器类型: $_SERVER["HTTP_USER_AGENT"] 判断浏览器类型的具体程序如下: <?php if(strpos($_SERVER["HTT ...
- 获取浏览器中url的参数
例如: 浏览器的地址是:http://localhost:8080/src/views/moneyDetail?id=10 vue 获取浏览器的参数 获取id的参数:this.$route.query ...
- jqure 获取地址栏的参数
从一个页面跳转到另外一个页面传参,我们用jqure得到参数需要两部分: 处理浏览器地址栏参数的方法: function GetQueryString(name) { var reg = new Reg ...
随机推荐
- h5中的video与audio
·首先带大家熟悉一下video标签的属性方法,根据属性方法做一个小demo, HTML5支持的视频格式: Ogg 带有Theora视频编码+Ogg文件 支持的浏览器:F.O MEPG4 带有H.26 ...
- I miss you, Jenny【我想念你,jenny】
I miss you, Jenny Forrest Gump: 阿甘正传 You died on a Saturday morning. And I had you placed here our t ...
- 动态规划:HDU3496-Watch The Movie(二维费用的背包问题)
Watch The Movie Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65535/65535 K (Java/Others) ...
- [USACO]Bovine Genomics
Description 给定两个字符串集合A,B,均包含N个字符串,长度均为M,求一个最短的区间[l,r],使得不存在字符串\(a\in A,b\in B,\)且\(a[l,r]=b[l,r]\) , ...
- mof格式的文件怎么打开?用什么工具?
托管对象格式 (MOF) 文件是创建和注册提供程序.事件类别和事件的简便方法.在 MOF 文件中创建类实例和类定义后,可以对该文件进行编译.有关更多信息,请参见编译托管对象格式 (MOF) 文件.编译 ...
- document.domain跨子域
document.domain 用来得到当前网页的域名.比如在地址栏里输入: javascript:alert(document.domain); //www.315ta.com 我们也可以给docu ...
- 如何利用c++编写不能被继承、但可以在类外定义对象的类
#include <iostream> #include<string> #include<map> #include<vector> #include ...
- jquery判断元素是否存在在数组中
var myArray = new Array(); function checkRepeat(sel) { console.log("索引是:" + $.inArray(sel, ...
- (转)iOS-蓝牙学习资源博文收集
ios蓝牙开发(一)蓝牙相关基础知识 ios蓝牙开发(二)蓝牙中心模式的ios代码实现 ios蓝牙开发(三)app作为外设被连接的实现 ios蓝牙开发(四)BabyBluetooth蓝牙库介绍 暂未完 ...
- 【SPOJ1297】Palindrome (SA+RMQ)
求最长回文串.把原串翻转后,加在原串后面,中间插入一个辨别字符.然后求SA,Height.然后枚举每个字母作为回文串中心,分长度为奇数和偶数去讨论:奇数求 suffix(i)和suffix(n-i+1 ...