PHP获取客户端操作系统,浏览器,语言,IP,IP归属地等

<?php
class Client
{
  ////获得访客浏览器类型
	function Get_Browser(){
		if(!empty($_SERVER['HTTP_USER_AGENT'])){
			$br = $_SERVER['HTTP_USER_AGENT'];
    		if (preg_match('/MSIE/i',$br)) {
				$br = 'MSIE';
			}
			elseif (preg_match('/Firefox/i',$br)) {
     			$br = 'Firefox';
    		}
    		elseif (preg_match('/Chrome/i',$br)) {
     			$br = 'Chrome';
       		}
       		elseif (preg_match('/Safari/i',$br)) {
     			$br = 'Safari';
    		}
    		elseif (preg_match('/Opera/i',$br)) {
				$br = 'Opera';
    		}else {
				$br = 'Other';
    		}
    		return $br;
   		}
   		else{
   			return "unknow";
   		}
  }

  ////获得访客浏览器语言
	function Get_Lang(){
		if(!empty($_SERVER['HTTP_ACCEPT_LANGUAGE'])){
			$lang = $_SERVER['HTTP_ACCEPT_LANGUAGE'];
   			 $lang = substr($lang,0,5);
    		if(preg_match("/zh-cn/i",$lang)){
     			$lang = "简体中文";
    		}
    		elseif(preg_match("/zh/i",$lang)){
     			$lang = "繁体中文";
    		}
    		else{
       		 	$lang = "English";
    		}
    		return $lang;
   		}
   		else{
   			return "unknow";
   		}
  }

   ////获取访客操作系统
	function Get_Os(){
   		if(!empty($_SERVER['HTTP_USER_AGENT'])){
			$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;
   		}
   		else{
   			return "unknow";
   		}
  }

  ////获得访客真实ip
	function Get_Ip_Addr(){
   		if(!empty($_SERVER["HTTP_CLIENT_IP"])){
      		$ip = $_SERVER["HTTP_CLIENT_IP"];
   		}
   		if(!empty($_SERVER['HTTP_X_FORWARDED_FOR'])){ //获取代理ip
    		$ips = explode(',',$_SERVER['HTTP_X_FORWARDED_FOR']);
   		}
   		if($ip){
      		$ips = array_unshift($ips,$ip);
   		}
   		$count = count($ips);
		for($i=0;$i<$count;$i++){
	     	if(!preg_match("/^(10172\.16192\.168)\./i",$ips[$i])){//排除局域网ip
	      		$ip = $ips[$i];
	      		break;
	      	}
		}
   		$tip = empty($_SERVER['REMOTE_ADDR']) ? $ip : $_SERVER['REMOTE_ADDR'];
   		if($tip=="127.0.0.1"){ //获得本地真实IP
      		return self::get_onlineip();
   		}
   		else{
      		return $tip;
   		}
  }

  ////获得本地真实IP
  function get_onlineip() {
		$ip_json = @file_get_contents("http://ip.taobao.com/service/getIpInfo.php?ip=myip");
		$ip_arr=json_decode(stripslashes($ip_json),1);
		if($ip_arr['code']==0)
		{
			return $ip_arr['data']['ip'];
		}

   }

  ////根据ip获得访客所在地地名
	function Get_Ip_From($ip=''){
		if(empty($ip)){
			$ip = self::Getip();
		}
   		$ip_json=@file_get_contents("http://ip.taobao.com/service/getIpInfo.php?ip=".$ip);//根据taobao ip
   		$ip_arr=json_decode(stripslashes($ip_json),1);
   		if($ip_arr['code']==0)
   		{
   			return $ip_arr;
   		}
   		else
   		{
   			return false;
   		}

	} 

}

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索php
, 操作系统
, 客户端
, 浏览器
, 语言
, 通过imsi获取归属地
, 查询ip归属地
, php查询IP归属
, ip归属地
php获取客户端ip
,以便于您获取更多的相关知识。

时间: 2024-08-01 11:13:21

PHP获取客户端操作系统,浏览器,语言,IP,IP归属地等的相关文章

js获取客户端操作系统类型的方法【测试可用】_javascript技巧

本文实例讲述了js获取客户端操作系统类型的方法.分享给大家供大家参考,具体如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <he

初学者的忧伤-获取客户端的浏览器信息

问题描述 获取客户端的浏览器信息 我写了一个js获取用户浏览器的版本信息,当用户连接我电脑上访问时在他那边显示的是自己浏览器的版本信息,我想问当他访问我这个页面时候我怎么将他的版本信息获取到. 解决方案 需要通过HTTP的header中USER-AGENT来获取 解决方案二: jsp中如何获取客户端的浏览器和操作系统信息jsp 获取客户端的浏览器和操作系统信息JSP获取客户端的浏览器和操作系统信息

获取客户端操作系统类型

获取客户端操作系统类型 function detectos(){   var suseragent = navigator.useragent;   var iswin = (navigator.platform == "win32") || (navigator.platform == "windows");                                                                         var is

获取客户端网卡MAC地址和IP地址实现JS代码_javascript技巧

在做B/S结构的系统时,我们常常需要获取客户端的一些信息,如IP和MAC,以结合身份验证.要获取服务器端的MAC很容易,但是要获取客户端的MAC的地址确要花费一翻心思,通常的做法是调用Win32API或直接调用nbtstat命令,这样做有很多问题,而另一种方法就是直接用客户端脚本,我们这里用Javascript,这样做的好处是不需要服务器端进行处理,有客户端自行获取,传递到服务器端,且速度和可靠性都比在服务器端获取好. 具体实现的html和javascript如下: 复制代码 代码如下: <HT

JSP获取客户端的浏览器和操作系统信息

string agent = request.getheader("user-agent"); stringtokenizer st = new stringtokenizer(agent,";"); st.nexttoken(); //得到用户的浏览器名 string userbrowser = st.nexttoken(); //得到用户的操作系统名 string useros = st.nexttoken(); 取得本机的信息也可以这样: 操作系统信息 sys

实例:JSP中获取客户端的浏览器和操作系统信息

js|客户端|浏览器 string agent = request.getheader("user-agent"); stringtokenizer st = new stringtokenizer(agent,";"); st.nexttoken(); //得到用户的浏览器名 string userbrowser = st.nexttoken(); //得到用户的操作系统名 string useros = st.nexttoken(); 取得本机的信息也可以这样:

jsp中如何获取客户端的浏览器和操作系统信息

js|客户端|浏览器 String Agent = request.getHeader("User-Agent");StringTokenizer st = new StringTokenizer(Agent,";");st.nextToken();//得到用户的浏览器名String userbrowser = st.nextToken();//得到用户的操作系统名String useros = st.nextToken(); 取得本机的信息也可以这样: 操作系统信

.NET获取客户端的操作系统版本、浏览器版本和IP地址_实用技巧

我们在使用.NET做网站的时候,很多情况下需要需要知道客户端的操作系统版本和浏览器版本,怎样获取客户端的操作系统和浏览器版本呢?我们可以通过分析UserAgent来获取. .NET 获取客户端的操作系统 请看下面的代码,我们首先创建一个通过分析UserAgent来获取操作系统的方法 /// <summary> /// 获取操作系统的名字 /// </summary> /// <param name="userAgent"></param>

JS获取客户端IP地址、MAC和主机名的7个方法汇总_javascript技巧

今天在搞JS(javascript)获取客户端IP的小程序,上网搜了下,好多在现在的系统和浏览器中的都无效,很无奈,在Chrome.FireFox中很少搞到直接利用ActiveX获取IP等的JS脚本.下面的代码是我在所有windowsNT5.0及以上的系统上都测试通过的,给出代码: 一.使用JS获取客户端IP的几个方法 方法一(只针对IE且客户端的IE允许AcitiveX运行,通过平台:XP,SERVER03,2000).获取客户端IP代码: 复制代码 代码如下: <HTML> <HEA