Доброй ночи. Помогайте ребят, что-то я не врубаюсь как тут все устроено.
Есть фун-я подсчета диапазонов айпи :
PHP:
скопировать код в буфер обмена
function iptocountry($ip) {
include("ip_files/".$numbers[0].".php");
$code=($numbers[0] * 16777216) + ($numbers[1] * 65536) + ($numbers[2] * 256) + ($numbers[3]);
foreach($ranges as $key => $value){
if($key<=$code){
if($ranges[$key][0]>=$code){$two_letter_country_code=$ranges[$key][1];break;}
}
}
if ($two_letter_country_code==""){$two_letter_country_code="unknown";}
return $two_letter_country_code;
}
255 файлов такого вот типа, прикрепляю - 1.пхп
И непосредственный вывод флага страны, в зависимости от ип адреса.
PHP:
скопировать код в буфер обмена
if ($CountryFlags == 1 AND
file_exists("./includes/ip_files/countries.php") AND
$IPaddress!="" ) {
$two_letter_country_code=iptocountry($IPaddress);
include("./includes/ip_files/countries.php");
$three_letter_country_code=$countries[$two_letter_country_code][0];
$country_name=convEnt2($countries[$two_letter_country_code][1]);
$file_to_check="./includes/flags/$two_letter_country_code.gif";
$flagIMG = "<img src=$file_to_check>";
$flag = "<img onMouseout='hidetooltip()' onMouseover='tooltip(\"".$flagIMG."<span class=color_text1> $country_name </span>\",100); return false' src='$file_to_check' width='20' height='13'>";
}else{
$flag = "<img title='$country_name' src='./includes/flags/noflag.gif' width='20' height='13'>";
}
$myFlag = $flag;
}
Код был написан относительно давно, и сейчас, около 30% флагов не отображает на сайте, по понятной причине - появляются новые провайдеры с уникальным ип диапазоном. Это в целом портит картину и очень хочется это поправить.
Вопрос в следующем, как правильно следует добавлять нужный мне ип-диапозон в массив одного из этих 255 файлов?
У меня ничего не получилось, пробовал в начало приписывать, в середину и конец массива. Так же пробовал долепить 256 файл по аналогии. На деле - ничего не изменялось, игнор или баг какой, ко всему этому я не могу понять данную функцию, помогите