Zkopiroval a upravil jsem PHP skript do meho prvniho snippetu pro lokalizaci zeme dle IP adresy, snippet vraci CC(Country code). Pouziva mysql db a importovane data z free (lite) databaze (takze to nemusi byt uplne presne, uvadena presnost je 97% a update je 1x mesicne):
======================================
$remote_addr=$_SERVER['REMOTE_ADDR'];
$ipnum = sprintf("%u", ip2long($remote_addr));
$tbl_geo_ip = $etomite->dbConfig['dbase'].".geo_ip";
$tbl_geo_cc = $etomite->dbConfig['dbase'].".geo_cc";
$sql = "SELECT cc FROM $tbl_geo_ip NATURAL JOIN $tbl_geo_cc WHERE ${ipnum} BETWEEN start AND end;";
$rs = $etomite->dbQuery($sql);
if ($etomite->recordCount($rs) >= 1){
$row = $etomite->fetchRow($rs);
$output="$row[cc]";
} else {
$output="--";
}
return $output;
========================================
Databaze: http://www.maxmind.com/app/geoip_country
Optimilizace DB a PHP kod: http://www.delau.net/php/geoip.html
---
Cajt
Lokalizace zeme dle IP adresy (databaze)
Moderátor: Moderators
-
- Czech LT
- Príspevky: 181
- Dátum registrácie: Ne Nov 06, 2005 4:40 pm
- Bydlisko: Praha [CZ]
- Kontaktovať používateľa:
co to vlasne vraci? kdyz to na strance zavolam?
- The Neverhood - Československý web o Neverhoodovi
- P.R.D.I. - nejlepší folkrock široko daleko
- Yozzefy - hudební gulášek známých písní