Lấy vị trí thông qua IP Address bằng PHP

PHP đã trang bị tính năng nhằm lấy được thông tin của người dùng như trình duyệt đăng sử dụng, IP Address, host name và 1 số đặc điểm khác. Để lấy được IP Address, PHP đã tạo ra biến REMOTE_ADDR. Có nhiều cách để lấy được IP Address. Sau đây là 1 số ví dụ:

 $ip = $_SERVER['REMOTE_ADDR'];  

Hoặc:

 $ip = $REMOTE_ADDR;  

Hoặc:

 $ip = $_SERVER['REMOTE_ADDR'];  

Hoặc:

 $ip = getenv('HTTP_CLIENT_IP');  

Sau khi đã lấy được ip của người dùng. Ta sẽ sử dụng IP Geolocation API để lấy vị trí http://ip-api.com/json/<ip_address>.
Ví dụ:
$ip = 101.99.10.180
Truyền $ip vào api: http://ip-api.com/json/101.99.10.180
Dữ liệu trả về dưới dạng JSON với đầy đủ thông tin và bạn có thể lấy những giá trị mình muốn:

 {  
   "as":"AS45903 CMC Telecom Infrastructure Company",  
   "city":"Hanoi",  
   "country":"Vietnam",  
   "countryCode":"VN",  
   "isp":"CMC Telecom Infrastructure Company",  
   "lat":21.0333,  
   "lon":105.85,  
   "org":"CMC Telecom Infrastructure Company",  
   "query":"101.99.10.180",  
   "region":"64",  
   "regionName":"Thanh Pho Ha Noi",  
   "status":"success",  
   "timezone":"Asia/Ho_Chi_Minh",  
   "zip":""  
 }  

Để tìm hiểu thêm về IP Geolocation API. Các bạn có thể đọc thêm tại: http://ip-api.com/docs/ .

Nhận xét

Bài đăng phổ biến từ blog này

Upload và remove hình ảnh trong laravel

Chuyển đổi HTML sang PDF sử dụng Javascript

Mã hóa dữ liệu trong Database