2010-02-04 96 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