- Автор темы
- #1
подскажите пожалуйста, как сгенерить диапазон всех ip адресов например с 202.70.112.0 по 202.70.127.255 ? По сути, надо в цикле сравнить последние цифры в ip адресе и увеличивать на единицу если они разные и выводить пока 255 не будет. Потом сравнивать предпоследние цифры, и увеличивать на единицу, а последние увеличивать на единицу 255 раз и так далее. А как это сделать
получается только с последними цифрами
получается только с последними цифрами
PHP:
<?php
if(isset($_POST['ip_stran']))
{
switch ($_POST['ip_stran'])
{
case "amirikan-samoa":
$_file = "http://www.proxysecurity.com/ip-address-range.php?country=AMERICAN+SAMOA";
break;
}
echo "страница с диапазоном - <a href='$_file' target='blank'>$_file</a><br><br>";
$stringg = $_file;
$stringg = iconv ("CP1251", "UTF-8", $stringg);
//$stringg = explode(" – ", $stringg);
$stringg = explode("</td>", $stringg);
foreach ($stringg as $urlded) {
$string = file_get_contents($urlded);
//preg_match_all("/([0-9]{1,3}).([0-9]{1,3}).([0-9]{1,3}).([0-9]{1,3})/s", $string, $found);
$massiv = preg_match_all("/([0-9]{1,3}).([0-9]{1,3}).([0-9]{1,3}).([0-9]{1,3}) – ([0-9]{1,3}).([0-9]{1,3}).([0-9]{1,3}).([0-9]{1,3})/s", $string, $found);
$total = sizeof($found[1]);
for($i=0; $i<$total; $i++) {
//$ip = $found[1][$i].'.'.$found[2][$i].'.'.$found[3][$i].'.'.$found[4][$i];
$ip = $found[1][$i].'.'.$found[2][$i].'.'.$found[3][$i].'.'.$found[4][$i].' - '.$found[5][$i].'.'.$found[6][$i].'.'.$found[7][$i].'.'.$found[8][$i];
$_ip1 = $found[1][$i];
$_ip2 = $found[2][$i];
$_ip3 = $found[3][$i];
$_ip4 = $found[4][$i];
$_ip5 = $found[5][$i];
$_ip6 = $found[6][$i];
$_ip7 = $found[7][$i];
$_ip8 = $found[8][$i];
echo "диопазон ip - $ip. <br><br>";
for ($_ip4==$_ip8; $_ip4<=$_ip8; $_ip4++)
echo "$_ip1.$_ip2.$_ip3.$_ip4<br>";
echo '<br>';
}
}
echo '<br>всего диапазонов - ';
print_r($massiv);
}
else
{
echo"
<form name='form' method='post' action=''>
<p>ip страны</p>
<p>
<select name='ip_stran' size=1>
<option value=amirikan-samoa>Американ Самоа</option>
</select>
</p>
<p></p>
<input type='submit' value='Заебенить'>
</form>
";
}
?>