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.

code Snipppets, php code, thu thuat php, hoc php, php co ban

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; ?>

 

 

 HỖ TRỢ TRỰC TUYẾN