У меня есть текстовый файл содержит диапазон IP, как этот формат ::
52.0.0.0-52.1.255.255
52.5.0.0-52.50.255.255
я хочу создать список IP из этого диапазона, строка за строкой
Я пытаюсь сделать это с помощью этого кода, но он не работает.
<?php
$file = file('ips.txt');
foreach ($file AS $line) {
$ips = explode('-', $line);
$range_one = $ips[0];
$range_two = $ips[1];
$ip1 = ip2long ($range_one);
$ip2 = ip2long ($range_two);
while ($ip1 <= $ip2) {
print_r (long2ip($ip1) ."". "\n");
$ip1 ++;
}
}
?>
и я хочу сохранить вывод в текстовом файле,
Пожалуйста, помогите сделать это и исправьте ошибку, если у меня есть.
Добавить код для удаления \ Г \ п или же \ п в каждой строке взорваться ‘-‘
А также сохранить вывод в текстовый файл.
<?php
$file = file('ips.txt');
$data = "";
foreach ($file AS $line) {
$ip_range = str_replace(array("\r\n","\r"),"",$line); /* remove \r\n or \n before explode '-' */
$ips = explode('-', $ip_range);
$range_one = $ips[0];
$range_two = $ips[1];
$ip1 = ip2long ($range_one);
$ip2 = ip2long ($range_two);
while ($ip1 <= $ip2) {
$data .= (long2ip($ip1) ."". "\n"); /* save each line to string */
$ip1 ++;
}
}
print_r ($data);
file_put_contents("ips_list.txt", $data); /* save output to text file */
?>
Других решений пока нет …