IP-urile nu se calculeaza dupa tara.
Au un script care detecteaza din ce tara este ip-ul (provider-ul de intenet) si astfel returneaza o pagina in limba care se potriveste fiecarei tari.
Cu php poti afla din ce tara provine cu scriptul meu de mai jos.
Cod: Selectaţi tot
<?php
// Script by desehix.ro
// Operator php Meleca Cristia - 11.04.2011
$tara = 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'=>'Azerbaidjan',
'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'=>'Ivory Coast (Cote D`Ivoire)',
'ck'=>'Cook Islands',
'cl'=>'Chile',
'cm'=>'Cameroon',
'cn'=>'China',
'co'=>'Colombia',
'cr'=>'Costa Rica',
'cs'=>'Former 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',
'fm'=>'Micronesia',
'fo'=>'Faroe Islands',
'fr'=>'France',
'fx'=>'France (European Territory)',
'ga'=>'Gabon',
'gb'=>'Great Britain',
'gd'=>'Grenada',
'ge'=>'Georgia',
'gf'=>'French Guyana',
'gh'=>'Ghana',
'gi'=>'Gibraltar',
'gl'=>'Greenland',
'gm'=>'Gambia',
'gn'=>'Guinea',
'gp'=>'Guadeloupe (French)',
'gq'=>'Equatorial Guinea',
'gr'=>'Greece',
'gs'=>'S. Georgia & S. Sandwich Isls',
'gt'=>'Guatemala',
'gu'=>'Guam (USA)',
'gw'=>'Guinea Bissau',
'gy'=>'Guyana',
'hk'=>'Hong Kong',
'hm'=>'Heard and McDonald Islands',
'hn'=>'Honduras',
'hr'=>'Croatia',
'ht'=>'Haiti',
'hu'=>'Hungary',
'id'=>'Indonesia',
'ie'=>'Ireland',
'il'=>'Israel',
'in'=>'India',
'int'=>'International',
'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 & Nevis Anguilla',
'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'=>'Moldavia',
'mg'=>'Madagascar',
'mh'=>'Marshall Islands',
'mil'=>'USA Military',
'mk'=>'Macedonia',
'ml'=>'Mali',
'mm'=>'Myanmar',
'mn'=>'Mongolia',
'mo'=>'Macau',
'mp'=>'Northern Mariana Islands',
'mq'=>'Martinique (French)',
'mr'=>'Mauritania',
'ms'=>'Montserrat',
'mt'=>'Malta',
'mu'=>'Mauritius',
'mv'=>'Maldives',
'mw'=>'Malawi',
'mx'=>'Mexico',
'my'=>'Malaysia',
'mz'=>'Mozambique',
'na'=>'Namibia',
'nc'=>'New Caledonia (French)',
'ne'=>'Niger',
'net'=>'Network',
'nf'=>'Norfolk Island',
'ng'=>'Nigeria',
'ni'=>'Nicaragua',
'nl'=>'Netherlands',
'no'=>'Norway',
'np'=>'Nepal',
'nr'=>'Nauru',
'nt'=>'Neutral Zone',
'nu'=>'Niue',
'nz'=>'New Zealand',
'om'=>'Oman',
'pa'=>'Panama',
'pe'=>'Peru',
'pf'=>'Polynesia (French)',
'pg'=>'Papua New Guinea',
'ph'=>'Philippines',
'pk'=>'Pakistan',
'pl'=>'Poland',
'pm'=>'Saint Pierre and Miquelon',
'pn'=>'Pitcairn Island',
'pr'=>'Puerto Rico',
'pt'=>'Portugal',
'pw'=>'Palau',
'py'=>'Paraguay',
'qa'=>'Qatar',
're'=>'Reunion (French)',
'ro'=>'Romania',
'ru'=>'Russian Federation',
'rw'=>'Rwanda',
'sa'=>'Saudi Arabia',
'sb'=>'Solomon Islands',
'sc'=>'Seychelles',
'sd'=>'Sudan',
'se'=>'Sweden',
'sg'=>'Singapore',
'sh'=>'Saint 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'=>'Saint Tome (Sao Tome) and Principe',
'su'=>'Former USSR',
'sv'=>'El Salvador',
'sy'=>'Syria',
'sz'=>'Swaziland',
'tc'=>'Turks and Caicos Islands',
'td'=>'Chad',
'tf'=>'French Southern Territories',
'tg'=>'Togo',
'th'=>'Thailand',
'tj'=>'Tadjikistan',
'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'=>'USA Minor Outlying Islands',
'us'=>'United States',
'uy'=>'Uruguay',
'uz'=>'Uzbekistan',
'va'=>'Vatican City State',
'vc'=>'Saint Vincent & Grenadines',
've'=>'Venezuela',
'vg'=>'Virgin Islands (British)',
'vi'=>'Virgin Islands (USA)',
'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');
$detector = gethostbyaddr($_SERVER['REMOTE_ADDR']); // de aici preia automat ipul si il proceseaza
$rezultat = substr($detector, strrpos($detector,'.')+1);
if (isset($tara[$rezultat])) {
echo 'Esti din '.$tara[$rezultat]; // afiseaza rezultatul
}
else {
echo 'Nu gasesc din ce tara vii.'; //mesajul apare cand nu recunoaste initiala a ip-ului
}
?>
Detecteaza tara dupa ip automat.
Succes.