abdullah-karam / usergeolocationapi
此包为您提供关于系统当前用户的许多信息
v1.0.0
2021-12-23 22:47 UTC
Requires
- guzzlehttp/guzzle: ^7.0.1
This package is auto-updated.
Last update: 2024-09-24 21:42:38 UTC
README
PHP (API) 中的地理位置 😍😍😍
此包帮助您通过IP地址了解当前用户的许多信息 😍😍😍
此包帮助您了解用户的当前语言、他浏览的来源国家、他所在国家的货币,以及他是否在使用VPN
##使用方法
无需额外设置即可开始使用,一旦您通过Composer安装,就可以调用外观
<?php use Abdullah\UserGeoLocation\GeoLocation; $user_ip = request()->ip(); $userInfo = new GeoLocation($user_ip); echo $userInfo->getUserIP(); result : 141.201.183.207 you can chain on object to get all information about user like this dd($userInfo->getUserInfo()); result : Abdullah\UserGeoLocation\GeoLocation {#281 ▼ -Service_url: "http://ip-api.com/php/" -USER_IP: "41.46.3.168" -Query: "status,message,continent,continentCode,country,countryCode,region,regionName,city,district,zip,lat,lon,timezone,offset,currency,isp,org,as,asname,reverse,mobile,proxy,hosting,query ◀" -USER_INFO: array:24 [▼ "status" => "success" "continent" => "Africa" "continentCode" => "AF" "country" => "Egypt" "countryCode" => "EG" "region" => "C" "regionName" => "Cairo Governorate" "city" => "Cairo" "district" => "" "zip" => "" "lat" => 30.0** "lon" => 31.28** "timezone" => "Africa/Cairo" "offset" => 7200 "currency" => "EGP" "isp" => "TE Data" "org" => "" "as" => "AS8452 TE-AS" "asname" => "TE-AS" "reverse" => "host-41.4**.3.1**.tedata.net" "mobile" => false "proxy" => false "hosting" => false "query" => "4*.4*.3.1**" ] } you can get spacific value from response like this dd($userInfo->getUserSpecificValue('country')); result : "Egypt" or you can give it array and its work too like this dd($userInfo->getUserSpecificValue(['country','city'])); result : array:2 [▼ "country" => "Egypt" "city" => "Cairo" ] you can change defult Query info about user to what you need as you like you can publish and change Query and you can also use it like string or array first publish config dont forget and change it from : return [ 'Query' => 'status,message,continent,continentCode,country,countryCode,region,regionName,city,district,zip,lat,lon,timezone,offset,currency,isp,org,as,asname,reverse,mobile,proxy,hosting,query', 'ServiceUrl' => 'http://ip-api.com/php/', ]; to (if you want city only for every user): return [ 'Query' => 'city', 'ServiceUrl' => 'http://ip-api.com/php/', ]; or like this array : return [ 'Query' => ['status','message'], 'ServiceUrl' => 'http://ip-api.com/php/', ]; to publish : php artisan vendor:publish and choose package to publish it pakcage also auto-discovery ## Contribute!! You are very welcomed if You want to Contribute 🥳 on that, And this is How : - Fork The Repo.📂 - Create Your new Solution in a Class with The existing Name + your Name + your email . 🚀 ## License MIT ** its for free usage you can fork it and enjoy **