Strana 1 z 1

Lokalizacia IP adresy - [[IP2Country]]

Napísané: Ut Jan 31, 2006 11:16 am
od používateľa _rasel^
Snippet vrati skratku statu (napr.: sk) na zaklade IP adresy uzivatela:
[[IP2Country]]

Kód: Vybrať všetko

$ip = $_SERVER['REMOTE_ADDR'];
$ip=!is_numeric($ip)?$ip:long2ip($ip); 
if(!$host=gethostbyaddr($ip)) return null; 
if(preg_match("/\.([a-z]+)$/i", $host, $matches)) return strtolower($matches[1]); else return false;
btw: Tento snippet nevyuzivajte na hromadnu lokalizaciu, pretoze je dost pomaly. 1000 IP-ciek lolkalizuje viac ako 18 minut! (musi sa pytat DNS)

Napísané: Ut Jan 31, 2006 9:59 pm
od používateľa dutch
teda me to nafacha... rek bych ze to ani fungovat nemuze... napis podrobne jak to pouzit, pripadne nejaky demo...

Napísané: Ut Jan 31, 2006 10:58 pm
od používateľa grabo
Taktiež nič... :twisted:

Napísané: St Feb 01, 2006 12:50 pm
od používateľa _rasel^
Uz by to malo fungovat... (uz som otestoval)

Funguje to na tom principe, ze zoberie [[GetISP]] ktore je vo vedlajsom threade 'gethostbyaddr($_SERVER['REMOTE_ADDR'])' a toto este prezenie cez masku '/\.([a-z]+)$/i' az z nazvu ostane len koncovka za bodkou.

Viac o maskach - Pattern Syntax:

Kód: Vybrať všetko

http://mirrors.inway.cz/manual/en/reference.pcre.pattern.syntax.php

Napísané: St Feb 01, 2006 7:33 pm
od používateľa dutch
hmmmm teda ze by tehle snippet byl uspesnej se rict neda ;)

bud napis spravnej a fungujici kod, nebo to cely smaz a delej zes nic nenapsal [sorry ze prudim, ale z tvyho navodu jak uvyst tedle snippet do chodu ses moudrej akorat tak ty ;) ]

takze: PROSIM napis demo, kde ti to funguje + presnej obsah toho snippetu, kterej to obsluhuje, jinak to prohlasuju za nefunkcni...

p.s. zkousel sem to jak na v0.6 tak RTM, obe php4 a php5

Napísané: St Feb 01, 2006 7:51 pm
od používateľa _rasel^
Zober si snippet z prveho prispevku (upravoval som ho - mozno, ze si si nevsimol - pozri si aj datum), nazvy ho IP2Country, vytvor novy domument, hod tam [[IP2Country]] Uloz, vyprazdni cache...

Demo:

Kód: Vybrať všetko

http://rtm.etomite.sk/index.php?id=18
Vyskusaj demo ak ti nefunguje (mne vrati: sk), tak napis co ti vrati snippet GetISP, aby som mohol toto tu upravit...

Napísané: St Feb 01, 2006 8:58 pm
od používateľa dutch
ach boze to sem se ztrapnil :D:D
ne nic hele uz sem na to prisel, ja totiz mam verejnou ip, ale neprelozenou!!! Sorry to byla moje blbost, ja sem si neuvedomil, ze ten snippet jenom voreze dns zaznam a ukaze jenom posledni dva [tri znaky]... samo ze vsechno funguje jak ma, kdyz sem si nahodil druhou ip [prelozenou ;) ] tak to ukazuje cz...

no takze sorry za to prudeni, jenom si vsechno dobre neuvedomil... muj predchozi post ignorujte ;)