![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 13 Pomógł: 0 Dołączył: 16.03.2006 Ostrzeżenie: (0%) ![]() ![]() |
Witam
chcialbym napisac skrypt ktory wykrywalby z jakiego kraju przychodzi uzytkownik. Robie stronke dla kilku wersju jezykowych (en, de, fr). No i chcialbym, ze jezeli uzytkownik bedzie z innego kraju niz wyzej wymienione, to zaladuje mu sie domyslna wersja jezykowa. No i pojawia sie problem jak wykryc kraj? Probowalem za pomoca zmiennej $_SERWER ["REMOTE_ADDR"], no ale co gdy nie bedzie nazwy i dostane tylko IP?! Takze to chyba odpada. Moge jeszcze HTTP_ACCEPT_LANGUAGE ale pojawia sie problem. Brat testowal to w Kanadzie. Ma angielskie oprogramowanie, ma ustawiona tylko polska klawiature i jezyk systemie na pl. No i HTTP_ACCEPT_LANGUAGE pokazuje mu "pl". U siebie (mam "polskie oprogramowanie") przestawilem jezyk i klawiature na EN ale tez mi pokazuje "pl". Sprawdzalem inne posty, ale sa dosyc stare z 2005 i generalnie nie rozwiazuja poroblemu. Nie chcialbym ladwac baz z krajami i dolkejac skrypty. Prosze o pomoc ![]() ps. co prawda pozostaje jeszcze JavaScript, ale nie moznaby jakos zrobic tego za pomoca php? |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 856 Pomógł: 19 Dołączył: 30.08.2005 Skąd: 100lica Ostrzeżenie: (0%) ![]() ![]() |
Poszukaj w googlach - jest sporo baz (dość dużych) oferujących prezentacje z jakiego miasta i kraju pochodzi użytkownik, który odwiedza stronę. Dodatkowo możesz znaleźć położenie geograficzne, do pokazania na maps.google.com
-------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 13 Pomógł: 0 Dołączył: 16.03.2006 Ostrzeżenie: (0%) ![]() ![]() |
No ale ja nie chce korzystac z zadnych baz, bo i po co?! Bede mial tylko 3 wersje jezykowe, a dla pozostalych jezykow zaladuje sie domyslna wersja angielska.
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 856 Pomógł: 19 Dołączył: 30.08.2005 Skąd: 100lica Ostrzeżenie: (0%) ![]() ![]() |
No to musisz sobie zrobić cache ip-ków albo zastosować jakiś program shellowy (ale musisz mieć dostęp do shella i ten program musi być zaistalowany). Jednakże działa on na tej samej zasadzie co powyzej.
Istnieje też możliwość pobierania tych informacji ze stron które udostępniają usługę sprawdzania. -------------------- |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 504 Pomógł: 2 Dołączył: 31.03.2006 Skąd: Londyn Ostrzeżenie: (0%) ![]() ![]() |
Niedawno toczylismy o tym dyskusje na ircu, najlepoiej miec dwie tabele jedna z krajami-kodami druga z zasiegami IP-kodami, IPka w postaci integera sluzy do tego funckcja ip2long. Przez to ze zapisujesz tylko zasiegi tych adresow a sam adres jest w postaci liczby calkowitej mozesz osiagnac dobry czas sprawdzania. Jesli potrzebujesz tylko 3-4 jezykow to co za problem umiesic tylko 3-4 zasiegi ?
-------------------- "Wizja czasu jest szeroka, lecz kiedy sie przez nia przechodzi, czas staje sie waskimi drzwiami"
![]() |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 856 Pomógł: 19 Dołączył: 30.08.2005 Skąd: 100lica Ostrzeżenie: (0%) ![]() ![]() |
To skoro znasz wszystkie klasy adresów to czemu się pytasz?
-------------------- |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 504 Pomógł: 2 Dołączył: 31.03.2006 Skąd: Londyn Ostrzeżenie: (0%) ![]() ![]() |
@wipo eee chyba sie pomyliles, ja o nic nie pytam tylko sugeruje rozwiazania, ktore swoja droga wydaje mi sie najlepsze (no chyba ze ktos korzysta z jakis azjatyckich proxy
![]() Ten post edytował thornag 18.12.2006, 10:43:36 -------------------- "Wizja czasu jest szeroka, lecz kiedy sie przez nia przechodzi, czas staje sie waskimi drzwiami"
![]() |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 856 Pomógł: 19 Dołączył: 30.08.2005 Skąd: 100lica Ostrzeżenie: (0%) ![]() ![]() |
A nie prościej robić własny cache a jak nie znajduje adresu w lokalnej bazie (cache) to odpytać stronę taką jak
http://pilzz.ath.cx/geoip/ ? -------------------- |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 504 Pomógł: 2 Dołączył: 31.03.2006 Skąd: Londyn Ostrzeżenie: (0%) ![]() ![]() |
Nie rozumiem po co sobie komplikowac. Przeciez skoro to maja byc tylko trzy jezyki to nietrudno zdobyc zasiego takich adresow, a pozniej tylko sprawdzasz a poleganie na zewnetrznych serwisach moze sie okazac 'trudne do utrzymania'.
Ewentualnie jest jeszcze rozwiazanie domenowe (takie jak no na php.net), w zaleznie od domeny ktorej klient uzywa wchodzac taki ustawiasz jezyk, ale jak wiadomo nie jest to do konca pewne. -------------------- "Wizja czasu jest szeroka, lecz kiedy sie przez nia przechodzi, czas staje sie waskimi drzwiami"
![]() |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 13 Pomógł: 0 Dołączył: 16.03.2006 Ostrzeżenie: (0%) ![]() ![]() |
thornag a moglbys mi podpowiedziec jak moge sprawdzic zasieg takich adresow i jak to pozniej wykorzystac?
![]() ![]() |
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 504 Pomógł: 2 Dołączył: 31.03.2006 Skąd: Londyn Ostrzeżenie: (0%) ![]() ![]() |
Jest sporo baz na necie typu ip2country, sciagnij sobie taka baze, zapisz sobie ipki tylko interesujacych Cie krajow, zapisz to u siebie w bazie a pozniej sprawdzaj ip.
-------------------- "Wizja czasu jest szeroka, lecz kiedy sie przez nia przechodzi, czas staje sie waskimi drzwiami"
![]() |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 13 Pomógł: 0 Dołączył: 16.03.2006 Ostrzeżenie: (0%) ![]() ![]() |
A inaczej tego nie mozna zrobic? tzn. nie korzystac z tego typu baz.
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 02:18 |