2010-02-04 62 views
0

我想仅在特定位置(旧金山)向用户显示侧边栏广告。我会嗅探他们的IP,然后如果它适合在San Fran IP地区创建一个If/Else来展示。如果IP!= San Fran IP位置则不显示?仅向位于地理位置的用户显示内容

或者我现在不用IP来跟踪他们的位置?

回答

0

答案是whois数据库。在Linux上使用whois命令,例如:

$ host www.stackoverflow.com 
www.stackoverflow.com is an alias for stackoverflow.com. 
stackoverflow.com has address 69.59.196.211 
stackoverflow.com mail is handled by 20 alt1.aspmx.l.google.com. 
stackoverflow.com mail is handled by 30 alt2.aspmx.l.google.com. 
stackoverflow.com mail is handled by 40 aspmx2.googlemail.com. 
stackoverflow.com mail is handled by 50 aspmx3.googlemail.com. 
stackoverflow.com mail is handled by 10 aspmx.l.google.com. 
$ whois 69.59.196.211 

OrgName: Peak Inc. 
OrgID:  PEAKIN-3 
Address: 1600 SW Western Suite #180 
City:  Corvallis 
StateProv: OR 
PostalCode: 97333 
Country: US 

... 

使用第一个“县”或“国家”字段。你会得到包含IP的网络块的国家。试试http://whois.domaintools.com/

+0

使用exec()或popen()来运行命令。 http://hu.php.net/manual/en/function.exec.php http://hu.php.net/manual/en/function.popen.php – Notinlist

+0

我可以将这个转换为一个php命令来使用在网站上? – HollerTrain

+0

是的,但你应该实现一些数据缓存。如果使用popen()运行命令,则可以将命令的输出作为输入文件处理。 – Notinlist