2012-06-30 1 views
0

나는 인도에서만 이미지를 보여주고 싶은 사이트가 있고 나머지 세계에서는 다른 이미지가 표시됩니다. 즉, 인도에서는 인도에만 콘텐츠를 표시하고 다른 국가에서는 일부 다른 콘텐츠를 표시합니다. 이 점에 관해 누구든지 나를 도울 수 있습니까?PHP mysql을 사용하는 지오 타겟 콘텐츠

답변

2

방문 사용자의 IP 주소를 얻고 자신의 위치를 ​​추적해야하며 국가에 따라 사용자 지정 사진을 표시 할 수 있습니다.

일부 관련 질문 :

Getting the location from an IP address

여기 https://stackoverflow.com/questions/283016/know-a-good-ip-address-geolocation-service#364706

는 자신의 IP 주소 하여 사용자의 위치를 ​​감지하는 코드 조각입니다 (결과는 정확 많은이 arent하지만)

function detect_city($ip) { 

     $default = 'UNKNOWN'; 

     if (!is_string($ip) || strlen($ip) < 1 || $ip == '127.0.0.1' || $ip == 'localhost') 
      $ip = '8.8.8.8'; 

     $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; 
     } 

} 
+0

그는 물론 장비의 올바른 컨텐츠를 선택하기 위해 컨텐츠 전달을 구조화해야합니다. 고지 나라. IP 위치 정보만으로는 충분하지 않습니다. – Cheesebaron