代碼入下,只做參考
classuserPCInfo{
//獲取客戶端瀏覽器
publicstaticfunctionget_client_browser(){
$sys=$_SERVER['HTTP_USER_AGENT'];//獲取用戶代理字符串
if(stripos($sys,"Firefox/")>0){
preg_match("/Firefox\/([^;)]+)+/i",$sys,$b);
$exp[0]="Firefox";
$exp[1]=$b[1];//獲取火狐瀏覽器的版本號
}elseif(stripos($sys,"Maxthon")>0){
preg_match("/Maxthon\/([\d\.]+)/",$sys,$aoyou);
$exp[0]="傲游";
$exp[1]=$aoyou[1];
}elseif(stripos($sys,"MSIE")>0){
preg_match("/MSIE\s+([^;)]+)+/i",$sys,$ie);
$exp[0]="IE";
$exp[1]=$ie[1];//獲取IE的版本號
}elseif(stripos($sys,"OPR")>0){
preg_match("/OPR\/([\d\.]+)/",$sys,$opera);
$exp[0]="Opera";
$exp[1]=$opera[1];
}elseif(stripos($sys,"Edge")>0){
//win10Edge瀏覽器添加了chrome內核標記在判斷Chrome之前匹配
preg_match("/Edge\/([\d\.]+)/",$sys,$Edge);
$exp[0]="Edge";
$exp[1]=$Edge[1];
}elseif(stripos($sys,"Chrome")>0){
preg_match("/Chrome\/([\d\.]+)/",$sys,$google);
$exp[0]="Chrome";
$exp[1]=$google[1];//獲取googlechrome的版本號
}elseif(stripos($sys,'rv:')>0&&stripos($sys,'Gecko')>0){
preg_match("/rv:([\d\.]+)/",$sys,$IE);
$exp[0]="IE";
$exp[1]=$IE[1];
}else{
$exp[0]="未知瀏覽器";
$exp[1]="";
}
return$exp;
}
//獲取客戶端操作系統
publicstaticfunctionget_client_os(){
$agent=$_SERVER['HTTP_USER_AGENT'];
$os=false;
if(preg_match('/win/i',$agent)&&strpos($agent,'95')){
$os='Windows95';
}elseif(preg_match('/win9x/i',$agent)&&strpos($agent,'4.90')){
$os='WindowsME';
}elseif(preg_match('/win/i',$agent)&&preg_match('/98/i',$agent)){
$os='Windows98';
}elseif(preg_match('/win/i',$agent)&&preg_match('/nt6.0/i',$agent)){
$os='WindowsVista';
}elseif(preg_match('/win/i',$agent)&&preg_match('/nt6.1/i',$agent)){
$os='Windows7';
}elseif(preg_match('/win/i',$agent)&&preg_match('/nt6.2/i',$agent)){
$os='Windows8';
}elseif(preg_match('/win/i',$agent)&&preg_match('/nt10.0/i',$agent)){
$os='Windows10';#添加win10判斷
}elseif(preg_match('/win/i',$agent)&&preg_match('/nt5.1/i',$agent)){
$os='WindowsXP';
}elseif(preg_match('/win/i',$agent)&&preg_match('/nt5/i',$agent)){
$os='Windows2000';
}elseif(preg_match('/win/i',$agent)&&preg_match('/nt/i',$agent)){
$os='WindowsNT';
}elseif(preg_match('/win/i',$agent)&&preg_match('/32/i',$agent)){
$os='Windows32';
}elseif(preg_match('/linux/i',$agent)){
$os='Linux';
}elseif(preg_match('/unix/i',$agent)){
$os='Unix';
}elseif(preg_match('/sun/i',$agent)&&preg_match('/os/i',$agent)){
$os='SunOS';
}elseif(preg_match('/ibm/i',$agent)&&preg_match('/os/i',$agent)){
$os='IBMOS/2';
}elseif(preg_match('/Mac/i',$agent)&&preg_match('/PC/i',$agent)){
$os='Macintosh';
}elseif(preg_match('/PowerPC/i',$agent)){
$os='PowerPC';
}elseif(preg_match('/AIX/i',$agent)){
$os='AIX';
}elseif(preg_match('/HPUX/i',$agent)){
$os='HPUX';
}elseif(preg_match('/NetBSD/i',$agent)){
$os='NetBSD';
}elseif(preg_match('/BSD/i',$agent)){
$os='BSD';
}elseif(preg_match('/OSF1/i',$agent)){
$os='OSF1';
}elseif(preg_match('/IRIX/i',$agent)){
$os='IRIX';
}elseif(preg_match('/FreeBSD/i',$agent)){
$os='FreeBSD';
}elseif(preg_match('/teleport/i',$agent)){
$os='teleport';
}elseif(preg_match('/flashget/i',$agent)){
$os='flashget';
}elseif(preg_match('/webzip/i',$agent)){
$os='webzip';
}elseif(preg_match('/offline/i',$agent)){
$os='offline';
}else{
$os='未知操作系統';
}
return$os;
}
//獲取ip地址
publicstaticfunctionget_ip(){
//判斷服務器是否允許$_SERVER
if(isset($_SERVER)){
if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])){
$realip=$_SERVER['HTTP_X_FORWARDED_FOR'];
}elseif(isset($_SERVER['HTTP_CLIENT_IP'])){
$realip=$_SERVER['HTTP_CLIENT_IP'];
}else{
$realip=$_SERVER['REMOTE_ADDR'];
}
}else{
//不允許就使用getenv獲取
if(getenv("HTTP_X_FORWARDED_FOR")){
$realip=getenv("HTTP_X_FORWARDED_FOR");
}elseif(getenv("HTTP_CLIENT_IP")){
$realip=getenv("HTTP_CLIENT_IP");
}else{
$realip=getenv("REMOTE_ADDR");
}
}
return$realip;
}
//獲取當前ip所在城市
publicstaticfunctionGetIpLookup($ip=''){
if(empty($ip)){
return'請輸入IP地址';
}
$test='http://ip.taobao.com/service/getIpInfo.php?ip='.$ip;
$res=@file_get_contents($test);
return$res;
}
}