You may like it:
How to extract img src, title and alt from html using php?
I did use the DOMDocument::loadHTML() method because this method can cope with HTML-syntax and does not force the input document… Read More
I have seen that most people search about how to get user (visitor) info by IP address but they get nothing. So, I thought I write an article regarding this. I found a better way by using ipinfo.io API. This API provides us the access to getting user info by IP address. I have created a function to get user info. I have used CURL library to make this work.
We can use file_get_contents() function but we have to enable allow_url_fopen = 0 in the php.ini file, due to some recent website hacks we had to secure sites more. Where we discovered that file_get_contents failed to work whereas CURL work better.
Using CURL we need not enable allow_url_fopen. Here is the following function you can test.
function get_user_info() { $ip = $_SERVER['REMOTE_ADDR']; $url = "http://ipinfo.io/{$ip}"; $ch = curl_init(); curl_setopt ($ch, CURLOPT_URL, $url); curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, 5); curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true); $info = curl_exec($ch); if (curl_errno($ch)) { return false; } else { curl_close($ch); } return $location = json_decode($info); } $info = get_user_info(); // returns an array object var_dump( $info ); //Output object(stdClass)#50 (7) { ["ip"]=> string(15) "123.153.142.139" ["city"]=> string(6) "Delhi" ["region"]=> string(13) "Delhi" ["country"]=> string(2) "IN" ["loc"]=> string(15) "28.7823,47.1000" ["postal"]=> string(6) "110002" ["org"]=> string(27) "Xyz Ltd." }
There may be found other methods also but I think it is also good.
Comments
Be the first to comment