Пример #1
0
$ipaddress = $_SERVER['REMOTE_ADDR'];
//$ipaddress = $_SERVER['REMOTE_ADDR'];
//$ipaddress1 ='219.75.27.16'; //singapore
//$ipaddress2 ='122.176.28.80'; // india
function geoCheckIP($ip)
{
    $response = @file_get_contents('http://www.netip.de/search?query=' . $ip);
    $patterns = array();
    $patterns["country"] = '#Country: (.*?) #i';
    $ipInfo = array();
    foreach ($patterns as $key => $pattern) {
        $ipInfo[$key] = preg_match($pattern, $response, $value) && !empty($value[1]) ? $value[1] : 'not found';
    }
    return $ipInfo;
}
$data = geoCheckIP($ipaddress);
$country = $data['country'];
//echo '<br/><br/>';
$new_ar = substr($country, 0, 2);
//echo $country= $data->country;
?>
<!doctype html>
<html lang="en" class="theme-b has-gradient has-pattern">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Social Circle - Customised facebook apps & Social Media Campaigns</title>
<meta name="description" content="">
<meta name="keywords" content="">
<meta name="HandheldFriendly" content="true">
<meta name="MobileOptimized" content="320">
Пример #2
0
<?php

$ip = $_SERVER['REMOTE_ADDR'];
echo $ip . "<br>";
print_r(geoCheckIP($ip));
//Array ( [domain] => dslb-094-219-040-096.pools.arcor-ip.net [country] => DE - Germany [state] => Hessen [town] => Erzhausen )
//Get an array with geoip-infodata
function geoCheckIP($ip)
{
    //check, if the provided ip is valid
    if (!filter_var($ip, FILTER_VALIDATE_IP)) {
        throw new InvalidArgumentException("IP is not valid");
    }
    //contact ip-server
    $response = @file_get_contents('http://www.netip.de/search?query=' . $ip);
    if (empty($response)) {
        throw new InvalidArgumentException("Error contacting Geo-IP-Server");
    }
    //Array containing all regex-patterns necessary to extract ip-geoinfo from page
    $patterns = array();
    $patterns["domain"] = '#Domain: (.*?)&nbsp;#i';
    $patterns["country"] = '#Country: (.*?)&nbsp;#i';
    $patterns["state"] = '#State/Region: (.*?)<br#i';
    $patterns["town"] = '#City: (.*?)<br#i';
    //Array where results will be stored
    $ipInfo = array();
    //check response from ipserver for above patterns
    foreach ($patterns as $key => $pattern) {
        //store the result in array
        $ipInfo[$key] = preg_match($pattern, $response, $value) && !empty($value[1]) ? $value[1] : 'not found';
    }