2013-12-17 10 views
0

IP의 도시 또는 국가를 검색하는 방법에 대한 자습서가 필요했습니다. MaxMind GeoIp이 좋았습니다. 어떤 도움이 필요합니까?국가 및 도시 검색 (PHP, GeoIP Maxmind)

+0

geoip_close ($ gi);를 추가해야합니다. 마지막으로 또는 fseek() 얻을 것이다 : 4 유효한 스트림 리소스 오류 메시지가 없습니다 –

답변

1

도시 정보를 얻으려면 GeoLiteCity.dat 파일을 다운로드하여 사용해야합니다.

1

코드가이 처음 다운로드 PHP 클래스 팩과 같아야 참조 http://www.maxmind.com/download/geoip/api/php/php-1.11.tar.gz 이이

geoip.inc 
geoipcity.inc 
geoipregionvars.php 

이 같은 디렉토리 도시와 다른 정보를 얻을 수있는 코드에 넣어 파일 필요하면이

입니다
<?php 
include("geoipcity.inc"); 
include("geoipregionvars.php"); 
$ip = "144.3.87.197"; 
$gi = geoip_open("GeoLiteCity.dat",GEOIP_STANDARD); 
$record= geoip_record_by_addr($gi,$ip); 
echo 'City Name'.$record->city . "\n"; 
geoip_close($gi); 
?> 
7

=== 방법 1 : 온라인 서비스를 ==를 사용

,536,913 63,210


-http://www.geoplugin.net/php.gp?ip=123.123.123.123
-http://ip-api.com/php/123.123.123.123
-http://ipinfo.io/123.123.123.123
-http://api.codehelper.io/ips/?callback=codehelper_ip_callback&ip=123.123.123.123
.... 등등 ...

=== 방법 2 : Maxmind GeoIP_V2의 ==를 사용

내가 그것을 어떻게 : "My_Folder"이라는 폴더를 만들어 그 안에 넣습니다.

1) 폴더 만들기 GeoIp2 이 "SRC"폴더 (download)의 내용을 넣으십시오.
2) MaxMind 폴더 (download, "SRC"폴더에서)를 입력하십시오.
3) 즉, GeoLite2-Country.mmdb (download).

다음, My_Folder에example.php 파일을 생성하고이 코드를 넣어 :

$user_ip='123.123.123.123'; 

spl_autoload_register('func888'); function func888($class){ include_once(str_replace(array('/','\\'), DIRECTORY_SEPARATOR, dirname(__file__)."/$class.php")) ;} 
use GeoIp2\Database\Reader; 
//you can do it for "city" too.. just everywhere change phrase "country" with "city". 
try{ 
    $reader = new Reader(dirname(__file__)."/GeoLite2-Country.mmdb"); 
    $record = $reader->country($user_ip); 
    $reader->close(); 
    $country_name = $record->raw['country']['names']['en']; 
} catch (GeoIp2\Exception\AddressNotFoundException $e){ $country_name = 'not_found'; } 

echo $country_name; 
// RESULTS -------------- > China 

추신을 다른 예제는 다음에서 찾을 수 있습니다 : https://github.com/maxmind/GeoIP2-php

+0

고마워,이 나를 위해 작동합니다 :) –

+0

BTW, Maxmind는 My_Folder 및 GeoIp2의 폴더이며 데이터베이스 파일은 같은 위치에 있습니다 폴더뿐만 아니라. 이것을 알아내는 데 어려움을 겪고있는 사람들에게. – Brana

+0

또한 방법 1에 http://api.ipinfodb.com/v3/ip-city/?key=&ip= 을 추가 할 수 있습니다. – user5155835

관련 문제