Loading...

Phát hiện địa chỉ người dùng với PHP

Các bạn sử dụng đoạn script sau sẽ có thể lấy chính xác địa chỉ thành phố mà người dùng truy cập vào website hay blog của các bạn. Tùy theo mục đích sử dụng mà đoạn script này sẽ rất hữu ích cho các bạn.

Phát hiện địa chỉ người dùng với PHP

function detect_city($ip) {
        
        $default = 'UNKNOWN';

        $curlopt_useragent = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2) Gecko/20100115 Firefox/3.6 (.NET CLR 3.5.30729)';
        
        $url = 'http://ipinfodb.com/ip_locator.php?ip=' . urlencode($ip);
        $ch = curl_init();
        
        $curl_opt = array(
            CURLOPT_FOLLOWLOCATION  => 1,
            CURLOPT_HEADER      => 0,
            CURLOPT_RETURNTRANSFER  => 1,
            CURLOPT_USERAGENT   => $curlopt_useragent,
            CURLOPT_URL       => $url,
            CURLOPT_TIMEOUT         => 1,
            CURLOPT_REFERER         => 'http://' . $_SERVER['HTTP_HOST'],
        );
        
        curl_setopt_array($ch, $curl_opt);
        
        $content = curl_exec($ch);
        
        if (!is_null($curl_info)) {
            $curl_info = curl_getinfo($ch);
        }
        
        curl_close($ch);
        
        if ( preg_match('{

<li>City : ([^<]*)</li>


}i', $content, $regs) )  {
            $city = $regs[1];
        }
        if ( preg_match('{

<li>State/Province : ([^<]*)</li>


}i', $content, $regs) )  {
            $state = $regs[1];
        }

        if( $city!='' && $state!='' ){
          $location = $city . ', ' . $state;
          return $location;
        }else{
          return $default; 
        }
        
    }

Và để sử dụng, các bạn chỉ cần viết thêm đoạn code như sau:

<?php $ip = $_SERVER['REMOTE_ADDR']; $city = detect_city($ip); echo $city; ?>

Chúc các bạn thành công !

Nguồn: https://www.thuthuatweb.net/php/phat-hien-dia-chi-nguoi-dung-voi-php.html

Comments

comments

Loading...