{"id":27713,"date":"2021-05-14T10:31:00","date_gmt":"2021-05-14T07:31:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=27713"},"modified":"2021-10-18T03:47:21","modified_gmt":"2021-10-18T00:47:21","slug":"jak-uzyskac-geolokalizacje-z-adresu-ip-w-php","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/pl\/jak-uzyskac-geolokalizacje-z-adresu-ip-w-php\/","title":{"rendered":"Jak uzyska\u0107 geolokalizacj\u0119 z adresu IP w PHP"},"content":{"rendered":"<p>Szukasz sposobu na pobranie geolokalizacji u\u017cytkownika z adresu IP w PHP? Korzystaj\u0105c z Geolokalizacji, b\u0119dziesz wiedzie\u0107, gdzie znajduj\u0105 si\u0119 odwiedzaj\u0105cy Twoj\u0105 witryn\u0119. Mo\u017ce by\u0107 u\u017cywany do cel\u00f3w grupy docelowej. Na podstawie lokalizacji u\u017cytkownika mo\u017cesz pokaza\u0107 mu odpowiedni\u0105 tre\u015b\u0107.<\/p>\n<p>Wiemy, aby zlokalizowa\u0107 pozycj\u0119 u\u017cytkownika API geolokalizacji HTML5 jest dost\u0119pne. Ale ten interfejs API dzia\u0142a na podstawie uprawnie\u0144. Wyskakuje u\u017cytkownika i pyta o jego uprawnienia, wtedy tylko dzia\u0142a.<\/p>\n<p>Aby przezwyci\u0119\u017cy\u0107 t\u0119 sytuacj\u0119, dost\u0119pna jest jedna us\u0142uga, kt\u00f3r\u0105 jest <a href=\"https:\/\/ipstack.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">ipstack<\/a>. W tym artykule dowiemy si\u0119, jak uzyska\u0107 geolokalizacj\u0119 z IP w PHP za pomoc\u0105 us\u0142ugi ipstack.<\/p>\n<h3>Uzyskaj klucz API<\/h3>\n<p>Aby rozpocz\u0105\u0107, musisz najpierw zarejestrowa\u0107 si\u0119 na <a href=\"https:\/\/ipstack.com\/product\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">ipstack<\/a>. ipstack zapewnia r\u00f3\u017cne poziomy us\u0142ug, od bezp\u0142atnego do poziomu korporacyjnego. Je\u015bli korzystasz z tej us\u0142ugi po raz pierwszy, zalecamy najpierw skorzystanie z bezp\u0142atnych plan\u00f3w. W chwili pisania tego artyku\u0142u bezp\u0142atna us\u0142uga pozwala na 10000 \u017c\u0105da\u0144 miesi\u0119cznie. Oznacza to, \u017ce mo\u017cesz co miesi\u0105c sprawdza\u0107 geolokalizacj\u0119 10000 adres\u00f3w IP za darmo.<\/p>\n<p>Po zarejestrowaniu si\u0119 w ipstack otrzymasz klucz dost\u0119pu. Ten klucz jest wymagany, gdy damy wywo\u0142anie API do ipstack.<\/p>\n<p>Poni\u017cej znajduje si\u0119 zrzut ekranu pulpitu nawigacyjnego ipstack, na kt\u00f3rym mo\u017cesz skopiowa\u0107 klucz dost\u0119pu.<\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20620-60820fdb890eb.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20620-60820fdb890eb.png\" alt=\"Jak uzyska\u0107 geolokalizacj\u0119 z adresu IP w PHP\" ><\/a><\/p>\n<h3>Uzyskaj geolokalizacj\u0119 z adresu IP w PHP<\/h3>\n<p>W tym momencie za\u0142o\u017cyli\u015bmy konto w ipstack i otrzymali\u015bmy nasz klucz dost\u0119pu. Teraz mo\u017cemy zacz\u0105\u0107 korzysta\u0107 z ich us\u0142ug i uzyska\u0107 Geolokalizacj\u0119 z adresu IP. Poniewa\u017c potrzebujemy wywo\u0142a\u0107 API do ipstack, u\u017cyjemy PHP cURL do wywo\u0142ania API. U\u017cytkownik mo\u017ce r\u00f3wnie\u017c u\u017cy\u0107 <a href=\"https:\/\/themewp.inform.click\/pl\/jak-korzystac-z-guzzle-klienta-php-http-do-wysylania-zadan-http\/\" title=\"Guzzle\">Guzzle<\/a> zamiast cURL.<\/p>\n<p>Powiedzmy, \u017ce musimy znale\u017a\u0107 geolokalizacj\u0119 adresu IP \u201e103.47.153.189&quot;. Wi\u0119c napiszemy dla niego kod jak poni\u017cej.<\/p>\n<pre><code>&lt;?php\n\/\/ set API Access Key\n$access_key = 'YOUR_ACCESS_KEY';\n\u00a0\n\/\/ set phone number\n$ip_address = '103.47.153.189';\n\u00a0\n\/\/ Initialize CURL:\n$ch = curl_init('http:\/\/api.ipstack.com\/'. $ip_address .'?access_key='. $access_key);\u00a0 \ncurl_setopt($ch, CURLOPT_RETURNTRANSFER, true);\n\u00a0\n\/\/ Store the data:\n$json = curl_exec($ch);\ncurl_close($ch);\n?&gt;<\/code><\/pre>\n<p>W zamian otrzymasz odpowied\u017a w postaci:<\/p>\n<pre><code>{  \n   \"ip\":\"103.47.153.189\",\n   \"type\":\"ipv4\",\n   \"continent_code\":\"AS\",\n   \"continent_name\":\"Asia\",\n   \"country_code\":\"IN\",\n   \"country_name\":\"India\",\n   \"region_code\":\"MH\",\n   \"region_name\":\"Maharashtra\",\n   \"city\":\"Pune\",\n   \"zip\":\"411001\",\n   \"latitude\":18.5333,\n   \"longitude\":73.8667,\n   \"location\":{  \n      \"geoname_id\":1259229,\n      \"capital\":\"New Delhi\",\n      \"languages\":[  \n         {  \n            \"code\":\"hi\",\n            \"name\":\"Hindi\",\n            \"native\":\"u0939u093fu0928u094du0926u0940\"\n         },\n         {  \n            \"code\":\"en\",\n            \"name\":\"English\",\n            \"native\":\"English\"\n         }\n      ],\n      \"country_flag\":\"http:\/\/assets.ipstack.com\/flags\/in.svg\",\n      \"country_flag_emoji\":\"ud83cuddeeud83cuddf3\",\n      \"country_flag_emoji_unicode\":\"U+1F1EE U+1F1F3\",\n      \"calling_code\":\"91\",\n      \"is_eu\":false\n   }\n}\n<\/code><\/pre>\n<p>Mo\u017cesz zobaczy\u0107, ile informacji mo\u017cemy uzyska\u0107, wysy\u0142aj\u0105c adres IP. Prawie wszystkie potrzebne informacje uzyskujemy z IP. U\u017cytkownik mo\u017ce r\u00f3wnie\u017c wys\u0142a\u0107 wiele adres\u00f3w IP oddzielonych przecinkami.<\/p>\n<p>Mamy nadziej\u0119, \u017ce mo\u017cesz dowiedzie\u0107 si\u0119, jak uzyska\u0107 geolokalizacj\u0119 z IP w PHP. Chcieliby\u015bmy pozna\u0107 Twoje przemy\u015blenia w sekcji komentarzy poni\u017cej.<\/p>\n<h4>Powi\u0105zane artyku\u0142y<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/pl\/znajdz-geolokalizacje-za-pomoca-adresu-ip-za-darmo-w-php\/\" title=\"Znajd\u017a geolokalizacj\u0119 za pomoc\u0105 adresu IP za darmo w PHP\">Znajd\u017a geolokalizacj\u0119 za pomoc\u0105 adresu IP za darmo w PHP<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/pl\/mailboxlayer-darmowy-i-potezny-interfejs-api-do-sprawdzania-czy-e-mail-jest-prawidlowy-prawdziwy-e-mail\/\" title=\"mailboxlayer \u2013 darmowy i pot\u0119\u017cny interfejs API do sprawdzania, czy e-mail jest prawid\u0142owy (prawdziwy e-mail)\">mailboxlayer \u2013 darmowy i pot\u0119\u017cny interfejs API do sprawdzania, czy e-mail jest prawid\u0142owy (prawdziwy e-mail)<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/pl\/kickbox-biblioteka-weryfikatorow-poczty-e-mail-w-czasie-rzeczywistym-dla-php\/\" title=\"Kickbox \u2013 biblioteka weryfikatora poczty e-mail w czasie rzeczywistym dla PHP\">Kickbox \u2013 biblioteka weryfikatora poczty e-mail w czasie rzeczywistym dla PHP<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">\u0179r\u00f3d\u0142o nagrywania:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Szukasz sposobu na pobranie geolokalizacji u\u017cytkownika z adresu IP w PHP? Korzystaj\u0105c z Geolokalizacji b\u0119dziesz wiedzia\u0142, gdzie jest Twoja witryna&#8230;<\/p>\n","protected":false},"author":1,"featured_media":20621,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[277],"tags":[847],"class_list":["post-27713","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-php-8","tag-affiai-pl"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/posts\/27713","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/comments?post=27713"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/posts\/27713\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/media\/20621"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/media?parent=27713"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/categories?post=27713"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/tags?post=27713"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}