<?php
function getIsp() {
$ccodes = array (
  "ad"  => "Andorra",
  "ae"  => "United Arab Emirates",
  "af"  => "Afghanistan",
  "ag"  => "Antigua and Barbuda",
  "ai"  => "Anguilla",
  "al"  => "Albania",
  "am"  => "Armenia",
  "an"  => "Netherlands Antilles",
  "ao"  => "Angola",
  "aq"  => "Antarctica",
  "ar"  => "Argentina",
  "as"  => "American Samoa",
  "at"  => "Austria",
  "au"  => "Australia",
  "aw"  => "Aruba",
  "az"  => "Azerbaijan",
  "ba"  => "Bosnia Herzegovina",
  "bb"  => "Barbados",
  "bd"  => "Bangladesh",
  "be"  => "Belgium",
  "bf"  => "Burkina Faso",
  "bg"  => "Bulgaria",
  "bh"  => "Bahrain",
  "bi"  => "Burundi",
  "bj"  => "Benin",
  "bm"  => "Bermuda",
  "bn"  => "Brunei Darussalam",
  "bo"  => "Bolivia",
  "br"  => "Brazil",
  "bs"  => "Bahamas",
  "bt"  => "Bhutan",
  "bv"  => "Bouvet Island",
  "bw"  => "Botswana",
  "by"  => "Belarus",
  "bz"  => "Belize",
  "ca"  => "Canada",
  "cc"  => "Cocos (Keeling) Islands",
  "cf"  => "Central African Republic",
  "cg"  => "Congo",
  "ch"  => "Switzerland",
  "ci"  => "Cote DIvoire",
  "ck"  => "Cook Islands",
  "cl"  => "Chile",
  "cm"  => "Cameroon",
  "cn"  => "China",
  "co"  => "Colombia",
  "cr"  => "Costa Rica",
  "cs"  => "Czechoslovakia",
  "cu"  => "Cuba",
  "cv"  => "Cape Verde",
  "cx"  => "Christmas Island",
  "cy"  => "Cyprus",
  "cz"  => "Czech Republic",
  "de"  => "Germany",
  "dj"  => "Djibouti",
  "dk"  => "Denmark",
  "dm"  => "Dominica",
  "do"  => "Dominican Republic",
  "dz"  => "Algeria",
  "ec"  => "Ecuador",
  "ee"  => "Estonia",
  "eg"  => "Egypt",
  "eh"  => "Western Sahara",
  "er"  => "Eritrea",
  "es"  => "Spain",
  "et"  => "Ethiopia",
  "fi"  => "Finland",
  "fj"  => "Fiji",
  "fk"  => "Falkland Islands (Malvinas)",
  "fm"  => "Micronesia",
  "fo"  => "Faroe Islands",
  "fr"  => "France",
  "fx"  => "France (Metropolitan)",
  "ga"  => "Gabon",
  "gb"  => "Great Britain (UK)",
  "gd"  => "Grenada",
  "ge"  => "Georgia",
  "gf"  => "French Guiana",
  "gh"  => "Ghana",
  "gi"  => "Gibraltar",
  "gl"  => "Greenland",
  "gm"  => "Gambia",
  "gn"  => "Guinea",
  "gp"  => "Guadeloupe",
  "gq"  => "Equatorial Guinea",
  "gr"  => "Greece",
  "gs"  => "S. Georgia and S. Sandwich Islands",
  "gt"  => "Guatemala",
  "gu"  => "Guam",
  "gw"  => "Guinea-Bissau",
  "gy"  => "Guyana",
  "hk"  => "Hong Kong",
  "hm"  => "Heard and McDonald Islands",
  "hn"  => "Honduras",
  "hr"  => "Croatia (Hrvatska)",
  "ht"  => "Haiti",
  "hu"  => "Hungary",
  "id"  => "Indonesia",
  "ie"  => "Ireland",
  "il"  => "Israel",
  "in"  => "India",
  "io"  => "British Indian Ocean Territory",
  "iq"  => "Iraq",
  "ir"  => "Iran",
  "is"  => "Iceland",
  "it"  => "Italy",
  "jm"  => "Jamaica",
  "jo"  => "Jordan",
  "jp"  => "Japan",
  "ke"  => "Kenya",
  "kg"  => "Kyrgyzstan",
  "kh"  => "Cambodia",
  "ki"  => "Kiribati",
  "km"  => "Comoros",
  "kn"  => "Saint Kitts and Nevis",
  "kp"  => "North Korea",
  "kr"  => "South Korea",
  "kw"  => "Kuwait",
  "ky"  => "Cayman Islands",
  "kz"  => "Kazakhstan",
  "la"  => "Laos",
  "lb"  => "Lebanon",
  "lc"  => "Saint Lucia",
  "li"  => "Liechtenstein",
  "lk"  => "Sri Lanka",
  "lr"  => "Liberia",
  "ls"  => "Lesotho",
  "lt"  => "Lithuania",
  "lu"  => "Luxembourg",
  "lv"  => "Latvia",
  "ly"  => "Libya",
  "ma"  => "Morocco",
  "mc"  => "Monaco",
  "md"  => "Moldova",
  "mg"  => "Madagascar",
  "mh"  => "Marshall Islands",
  "mk"  => "Macedonia",
  "ml"  => "Mali",
  "mm"  => "Myanmar",
  "mn"  => "Mongolia",
  "mo"  => "Macau",
  "mp"  => "Northern Mariana Islands",
  "mq"  => "Martinique",
  "mr"  => "Mauritania",
  "ms"  => "Montserrat",
  "mt"  => "Malta",
  "mu"  => "Mauritius",
  "mv"  => "Maldives",
  "mw"  => "Malawi",
  "mx"  => "Mexico",
  "my"  => "Malaysia",
  "mz"  => "Mozambique",
  "na"  => "Namibia",
  "nc"  => "New Caledonia",
  "ne"  => "Niger",
  "nf"  => "Norfolk Island",
  "ng"  => "Nigeria",
  "ni"  => "Nicaragua",
  "nl"  => "The Netherlands",
  "no"  => "Norway",
  "np"  => "Nepal",
  "nr"  => "Nauru",
  "nt"  => "Neutral Zone",
  "nu"  => "Niue",
  "nz"  => "New Zealand (Aotearoa)",
  "om"  => "Oman",
  "pa"  => "Panama",
  "pe"  => "Peru",
  "pf"  => "French Polynesia",
  "pg"  => "Papua New Guinea",
  "ph"  => "Philippines",
  "pk"  => "Pakistan",
  "pl"  => "Poland",
  "pm"  => "St. Pierre and Miquelon",
  "pn"  => "Pitcairn",
  "pr"  => "Puerto Rico",
  "pt"  => "Portugal",
  "pw"  => "Palau",
  "py"  => "Paraguay",
  "qa"  => "Qatar",
  "re"  => "Reunion",
  "ro"  => "Romania",
  "ru"  => "Russian Federation",
  "rw"  => "Rwanda",
  "sa"  => "Saudi Arabia",
  "sb"  => "Solomon Islands",
  "sc"  => "Seychelles",
  "sd"  => "Sudan",
  "se"  => "Sweden",
  "sg"  => "Singapore",
  "sh"  => "St. Helena",
  "si"  => "Slovenia",
  "sj"  => "Svalbard and Jan Mayen Islands",
  "sk"  => "Slovak Republic",
  "sl"  => "Sierra Leone",
  "sm"  => "San Marino",
  "sn"  => "Senegal",
  "so"  => "Somalia",
  "sr"  => "Suriname",
  "st"  => "Sao Tome and Principe",
  "su"  => "USSR (Former)",
  "sv"  => "El Salvador",
  "sy"  => "Syria",
  "sz"  => "Swaziland",
  "tc"  => "Turks and Caicos Islands",
  "td"  => "Chad",
  "tf"  => "French Southern Territories",
  "tg"  => "Togo",
  "th"  => "Thailand",
  "tj"  => "Tajikistan",
  "tk"  => "Tokelau",
  "tm"  => "Turkmenistan",
  "tn"  => "Tunisia",
  "to"  => "Tonga",
  "tp"  => "East Timor",
  "tr"  => "Turkey",
  "tt"  => "Trinidad and Tobago",
  "tv"  => "Tuvalu",
  "tw"  => "Taiwan",
  "tz"  => "Tanzania",
  "ua"  => "Ukraine",
  "ug"  => "Uganda",
  "uk"  => "United Kingdom",
  "um"  => "US Minor Outlying Islands",
  "us"  => "United States",
  "uy"  => "Uruguay",
  "uz"  => "Uzbekistan",
  "va"  => "Vatican City State (Holy See)",
  "vc"  => "Saint Vincent and the Grenadines",
  "ve"  => "Venezuela",
  "vg"  => "Virgin Islands (British)",
  "vi"  => "Virgin Islands (US)",
  "vn"  => "Vietnam",
  "vu"  => "Vanuatu",
  "wf"  => "Wallis and Futuna Islands",
  "ws"  => "Samoa",
  "ye"  => "Yemen",
  "yt"  => "Mayotte",
  "yu"  => "Yugoslavia",
  "za"  => "South Africa",
  "zm"  => "Zambia",
  "zr"  => "Zaire",
  "zw"  => "Zimbabwe",
  "com"  => "US Commercial",
  "edu"  => "US Educational",
  "gov"  => "US Government",
  "int"  => "International",
  "mil"  => "US Military",
  "net"  => "Network",
  "org"  => "Non-Profit Organization",
  "arpa"  => "Old-Style Arpanet",
  "nato"  => "NATO Field"
);
    $isp = gethostbyaddr($_SERVER['REMOTE_ADDR']);
    $land = substr(strrchr($isp, "."), 1);
    $stukjes = explode(".", $isp);
    for($i=0; $i <= count($stukjes)-1; $i++) {
        $mogel = $stukjes[$i].".".$land;
        if (checkdnsrr($mogel) !== false)
          $ispq = $stukjes[$i];
    }
    $isp = ucfirst($ispq);
    $land = $ccodes[$land]; 
    return $isp; //verander $ip in $land als je het land wilt retourneren.
}
?>

echo getIsp();