return "获取访客操作系统信息失败!";
        }
    }
    ////获得访客真实ip
    function Getip()
    {
        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("/^(10|172\\.16|192\\.168)\\./i", $ips[$i])) {
                //排除局域网ip
                $ip = $ips[$i];
                break;
            }
        }
        return empty($_SERVER['REMOTE_ADDR']) ? $ip : $_SERVER['REMOTE_ADDR'];
    }
}
$gifo = new get_gust_info();
echo "<br/>浏览器类型:" . $gifo->GetBrowser();
echo "<br/>浏览器语言:" . $gifo->GetLang();
echo "<br/>操作系统:" . $gifo->GetOs();
Example #2
0
        }
    }
    ////根据ip获得访客所在地地名
    function Getaddress($ip = '')
    {
        if (empty($ip)) {
            $ip = $this->Getip();
        }
        $ipadd = file_get_contents("http://int.dpool.sina.com.cn/iplookup/iplookup.php?ip=" . $ip);
        //根据新浪api接口获取
        if ($ipadd) {
            $charset = iconv("gbk", "utf-8", $ipadd);
            preg_match_all("/[\\x{4e00}-\\x{9fa5}]+/u", $charset, $ipadds);
            return $ipadds;
            //返回一个二维数组
        } else {
            return "addree is none";
        }
    }
}
$gifo = new get_gust_info();
echo "你的ip:" . $gifo->Getip();
echo "<br/>所在地:";
$ipadds = $gifo->Getaddress();
foreach ($ipadds[0] as $value) {
    //echo "\r\n    ".iconv("utf-8","gbk",$value);
    echo "\r\n    " . $value;
}
echo "<br/>浏览器类型:" . $gifo->GetBrowser();
echo "<br/>浏览器语言:" . $gifo->GetLang();
echo "<br/>操作系统:" . $gifo->GetOs();