Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

IP адрес, подсети, маски

Есть некоторые вещи которые я не способен считать в уме, но зато без каких либо затруднений могу написать программу для их расчета. Одна из них - это перерасчет подсетей.

Задача: из 0.0.0.0/24 получить 0.0.0.0/255.255.255.0 и 0.0.0.0-0.0.0.255

Решение:

$ip=explode("/","XXX.XXX.XXX.XXX/24");
$mask=0xFFFFFFFF;
for ($j=0;$j<32-$ip[1];$j++) $mask=$mask<<1;
$lip=ip2long($ip[0]);
print "<P>Результат: ".long2ip($lip&$mask)."/".long2ip($mask)."</P>";
print "<P>Результат: ".long2ip($lip&$mask)."-".long2ip(($lip&$mask)+(~$mask))."</P>";

Живой пример

Оставить комментарий

Комментарий:
можно использовать BB-коды
Максимальная длина комментария - 4000 символов.
 

Комментарии

1.
43K
19 сентября 2008 года
tirasbiz
0 / / 19.09.2008
Мне нравитсяМне не нравится
12 мая 2009, 16:13:25
2 ИгорЬ:
живой пример:
тебе известны IP твоего прова. ну типа одна локальная сетка и все такое. ипы даются как раз в виде сетки xxx.xxx.xxx.xxx/NN и таких сеток у прова может быть несколько.
Задача банальна - надо чтобы сайт показывал посетителям именно этого прова конкретный код (ну или в лог записал что-то). Очень полезная, между прочим, задача.
Суть в том что сравнивать числа (коие и являются ипы в чистом виде) намного шустрее нежели сравнивать строковые переменные (коие даются при получении ипа и описания сетки.) А посему такой код облегчает жизнь многим, в том числе и хостерам, ибо корявый код не грузит сервер.
2.
Аноним
Мне нравитсяМне не нравится
22 марта 2006, 09:54:39
Код:
print "<P>Результат: ".long2ip($lip&$mask)."-".long2ip(($lip&$mask)+(0xFFFFFFFF&~$mask))."</P>";
Имхо так правильнее. Иначе такой вариант некорректно обрабатывался 192.168.1.1/32
3.
Аноним
Мне нравитсяМне не нравится
1 марта 2006, 16:09:23
Спасибо за код как раз я его искал..
4.
Аноним
Мне нравитсяМне не нравится
19 августа 2004, 06:40:07
А накой они сплющились эти перерсчеты? Что они дают эти заморочки, в чем их польза
5.
Аноним
Мне нравитсяМне не нравится
6 июля 2004, 18:05:38
Я непонимаю я везде вижу это объеснение но т.к. я полный чайник в этой сфере я хотел бы что бы вы объеснили мне по подробней))) Пожалуйста)))
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог