>백엔드 개발 >PHP 튜토리얼 >PHP를 사용하여 방문자 IP 및 지역 위치 정보를 얻는 방법과 브라우저 및 소스 페이지의 예를 공유하는 방법

PHP를 사용하여 방문자 IP 및 지역 위치 정보를 얻는 방법과 브라우저 및 소스 페이지의 예를 공유하는 방법

黄舟
黄舟원래의
2017-07-27 15:04:042035검색

PHP를 사용하여 방문자 IP 및 지역 위치 정보를 얻고 브라우저 및 소스 페이지의 예를 공유하는 방법

<?php
//这个类似用来获取访客信息的
//方便统计
class visitorInfo
{
    //获取访客ip
    public function getIp()
    {
        $ip=false;
        if(!empty($_SERVER["HTTP_CLIENT_IP"])){
            $ip = $_SERVER["HTTP_CLIENT_IP"];
        }
        if (!empty($_SERVER[&#39;HTTP_X_FORWARDED_FOR&#39;])) {
            $ips = explode (", ", $_SERVER[&#39;HTTP_X_FORWARDED_FOR&#39;]);
            if ($ip) { array_unshift($ips, $ip); $ip = FALSE; }
            for ($i = 0; $i < count($ips); $i++) {
                if (!eregi ("^(10│172.16│192.168).", $ips[$i])) {
                    $ip = $ips[$i];
                    break;
                }
            }
        }
        return ($ip ? $ip : $_SERVER[&#39;REMOTE_ADDR&#39;]);
    }
 
    //根据ip获取城市、网络运营商等信息
    public function findCityByIp($ip){
        $data = file_get_contents(&#39;http://ip.taobao.com/service/getIpInfo.php?ip=&#39;.$ip);
        return json_decode($data,$assoc=true);
    }
 
   //获取用户浏览器类型
    public function getBrowser(){
        $agent=$_SERVER["HTTP_USER_AGENT"];
        if(strpos($agent,&#39;MSIE&#39;)!==false || strpos($agent,&#39;rv:11.0&#39;)) //ie11判断
            return "ie";
        else if(strpos($agent,&#39;Firefox&#39;)!==false)
            return "firefox";
        else if(strpos($agent,&#39;Chrome&#39;)!==false)
            return "chrome";
        else if(strpos($agent,&#39;Opera&#39;)!==false)
            return &#39;opera&#39;;
        else if((strpos($agent,&#39;Chrome&#39;)==false)&&strpos($agent,&#39;Safari&#39;)!==false)
            return &#39;safari&#39;;
        else
            return &#39;unknown&#39;;
    }
 
    //获取网站来源
    public function getFromPage(){
        return $_SERVER[&#39;HTTP_REFERER&#39;];
    }
 
}

위 내용은 PHP를 사용하여 방문자 IP 및 지역 위치 정보를 얻는 방법과 브라우저 및 소스 페이지의 예를 공유하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.