PHP语言、浏览器、操作系统、IP、地理位置、ISP,本PHP类里面有以下几种方法,同时也是用法说明:

<?php
class class_guest_info{
function GetLang() {
$Lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 4);
//使用substr()截取字符串,从 0 位开始,截取4个字符
if (preg_match('/zh-c/i',$Lang)) {
//preg_match()正则表达式匹配函数
$Lang = '简体中文';
}
elseif (preg_match('/zh/i',$Lang)) {
$Lang = '繁體中文';
}
else {
$Lang = 'English';
}
return $Lang;
}
function GetBrowser() {
$Browser = $_SERVER['HTTP_USER_AGENT'];
if (preg_match('/MSIE/i',$Browser)) {
$Browser = 'MSIE';
}
elseif (preg_match('/Firefox/i',$Browser)) {
$Browser = 'Firefox';
}
elseif (preg_match('/Chrome/i',$Browser)) {
$Browser = 'Chrome';
}
elseif (preg_match('/Safari/i',$Browser)) {
$Browser = 'Safari';
}
elseif (preg_match('/Opera/i',$Browser)) {
$Browser = 'Opera';
}
else {
$Browser = 'Other';
}
return $Browser;
}
function GetOS() {
$OS = $_SERVER['HTTP_USER_AGENT'];
if (preg_match('/win/i',$OS)) {
$OS = 'Windows';
}
elseif (preg_match('/mac/i',$OS)) {
$OS = 'MAC';
}
elseif (preg_match('/linux/i',$OS)) {
$OS = 'Linux';
}
elseif (preg_match('/unix/i',$OS)) {
$OS = 'Unix';
}
elseif (preg_match('/bsd/i',$OS)) {
$OS = 'BSD';
}
else {
$OS = 'Other';
}
return $OS;
}
function GetIP() {
if (!emptyempty($_SERVER['HTTP_CLIENT_IP'])) {
//如果变量是非空或非零的值,则 empty()返回 FALSE。
$IP = explode(',',$_SERVER['HTTP_CLIENT_IP']);
}
elseif (!emptyempty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$IP = explode(',',$_SERVER['HTTP_X_FORWARDED_FOR']);
}
elseif (!emptyempty($_SERVER['REMOTE_ADDR'])) {
$IP = explode(',',$_SERVER['REMOTE_ADDR']);
}
else {
$IP[0] = 'None';
}
return $IP[0];
}
private function GetAddIsp() {
$IP = $this->GetIP();
$AddIsp = mb_convert_encoding(file_get_contents('http://open.baidu.com/ipsearch/stn=ipjson&wd='.$IP),'UTF-8','GBK');
//mb_convert_encoding() 转换字符编码。
if (preg_match('/noresult/i',$AddIsp)) {
$AddIsp = 'None';
}
else {
$Sta = stripos($AddIsp,$IP) + strlen($IP) + strlen('来自');
$Len = stripos($AddIsp,'"}')-$Sta;
$AddIsp = substr($AddIsp,$Sta,$Len);
}
$AddIsp = explode(' ',$AddIsp);
return $AddIsp;
}
function GetAdd() {
$Add = $this->GetAddIsp();
return $Add[0];
}
function GetIsp() {
$Isp = $this->GetAddIsp();
if ($Isp[0] != 'None' && isset($Isp[1])) {
$Isp = $Isp[1];
}
else {
$Isp = 'None';
}
return $Isp;
}
}
?>
$obj = new class_guest_info;
$obj->GetLang(); //获取访客语言:简体中文、繁體中文、English。
$obj->GetBrowser(); //获取访客浏览器:MSIE、Firefox、Chrome、Safari、Opera、Other。
$obj->GetOS(); //获取访客操作系统:Windows、MAC、Linux、Unix、BSD、Other。
$obj->GetIP(); //获取访客IP地址。
$obj->GetAdd(); //获取访客地理位置,使用 Baidu 隐藏接口。
$obj->GetIsp(); //获取访客ISP,使用 Baidu 隐藏接口。

PHP获取操作系统、IP、地理位置、浏览器、ISP等信息_PHP类代码的更多相关文章

  1. 如何获取用户的地理位置-浏览器地理位置(Geolocation)API 简介

    如何获取用户的地理位置-浏览器地理位置(Geolocation)API 简介 一.总结 一句话总结:Geolocation API(地理位置应用程序接口)提供了一个可以准确知道浏览器用户当前位置的方法 ...

  2. php利用淘宝IP库获取用户ip地理位置

    我们查ip的时候都是利用ip138查询的,不过那个有时候是不准确的,还不如自己引用淘宝的ip库来查询,这样准确度还高一些.不多说了,介绍一下淘宝IP地址库的使用. 淘宝IP地址库 淘宝公布了他们的IP ...

  3. Js获取操作系统版本 && 获得浏览器版本

    //利用原生Js获取操作系统版本function getOS() { var sUserAgent = navigator.userAgent; var isWin = (navigator.plat ...

  4. C# 获取操作系统相关的信息

    本文通过一个Demo,讲解如何通过C#获取操作系统相关的信息,如内存大小,CPU大小,机器名,环境变量等操作系统软件.硬件相关信息,仅供学习分享使用,如有不足之处,还请指正. 涉及知识点: Envir ...

  5. python开发_platform_获取操作系统详细信息工具

    ''' python中,platform模块给我们提供了很多方法去获取操作系统的信息 如: import platform platform.platform() #获取操作系统名称及版本号,'Win ...

  6. PHP语言、浏览器、操作系统、IP、地理位置、ISP

    )]; } else { $Isp = 'None'; } return $Isp; }}

  7. .NET 获取客户端的操作系统版本、浏览器版本和IP地址

    我们在使用.NET做网站的时候,很多情况下需要需要知道客户端的操作系统版本和浏览器版本,怎样获取客户端的操作系统和浏览器版本呢?我们可以通过分析UserAgent来获取. .NET 获取客户端的操作系 ...

  8. js获取ip地址,操作系统,浏览器版本等信息,可兼容

    这次呢,说一下使用js获取用户电脑的ip信息,刚开始只是想获取用户ip,后来就顺带着获取了操作系统和浏览器信息. 先说下获取用户ip地址,包括像ipv4,ipv6,掩码等内容,但是大部分都要根据浏览器 ...

  9. php获取客户端IP地址、所在地、操作系统、浏览器信息

    本实例主要实现获取客户端的IP,再根据获取的IP获取所在地,还可以获取用户当前电脑使用的操作系统以及用户是通过什么浏览器进行访问的. 您可以在这里查看具体演示和下载demo  http://www.j ...

随机推荐

  1. 用JvisualVM监视远程tomcat

    在tomcat的catcalina.sh 中java_opts 环境变量中添加以下参数: -Dcom.sun.management.jmxremote -Dcom.sun.management.jmx ...

  2. COJN 0584 800603吃糖果

    800603吃糖果 难度级别:B: 运行时间限制:1000ms: 运行空间限制:51200KB: 代码长度限制:2000000B 试题描述 名名的妈妈从外地出差回来,带了一盒好吃又精美的巧克力给名名( ...

  3. awk工具

    简介 awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再 ...

  4. javascript对象拷贝

    浅拷贝 浅拷贝函数: function copy(p){ var c = {}; for (var i in p){ c[i] = p[i]; } c.uber = p; return c; } 测试 ...

  5. app开发历程---1,servlet 返回JSON作为android 接口实例

    最近公司领导要做app,虽然以前自己是做app的测试的,但是好多东西都不是很明白,这里记录自己这段日子的历程. 1.搭建服务器端,以前做测试的时候,他们用的是Apache+mysql+php,而自己上 ...

  6. Asp.Net读取服务器EXE文件的方法!(超简单实例)

    Asp.Net读取服务器EXE文件的方法!(超简单实例) Process process = new Process(); process.StartInfo.FileName = "d:\ ...

  7. jQuery Ajax 的 load()方式

     load() 方法 load() 是所有jQuery工具中最简单的,向它传入一个URL,它会异步加载URL内的内容,然后将内容插入每一个选中元素中,替换掉已经存在的任何内容. 例如 $(" ...

  8. 一起来写2048(160行python代码)

    前言: Life is short ,you need python. --Bruce Eckel 我与2048的缘,不是缘于一个玩家,而是一次,一次,重新的ACM比赛.四月份校赛初赛,第一次碰到20 ...

  9. java的Comparator和Comparable

    java的Comparator和Comparable 当需要排序的集合或数组不是单纯的数字型时,通常可以使用Comparator或Comparable,以简单的方式实现对象排序或自定义排序.      ...

  10. 编译lua版本问题

    Compile++ thumb  : game_shared <= main.cppjni/hellocpp/main.cpp: In function 'void Java_org_cocos ...