|
|
|
|
|
для: Trianon
(15.10.2009 в 12:23)
| | Проверила на примере. Все правильно. Раньше думала, что только числа сравниваются, а строки только по длине. | |
|
|
|
|
|
|
|
для: Лена
(15.10.2009 в 10:48)
| | как строки сравнивают. if($s1 <= $s_ip && $s_ip <= $s2)
Точку с запятой - спасибо - поправил. | |
|
|
|
|
|
|
|
для: Trianon
(14.10.2009 в 23:39)
| | При конвертировании bin2hex получаем строку. Как потом эти строки на больше/меньше сравнивать?
У вас там кстати точка с запятой не там стоит. | |
|
|
|
|
|
|
|
для: Nevi
(15.10.2009 в 00:01)
| | а если встанет задача работать с диапазонами адресов, которые не являются сетями класса C? | |
|
|
|
|
|
|
|
для: Diplex
(14.10.2009 в 23:28)
| | регулярными выражениями не хотелось бы принципиально
1. долгие
2. возможны изменения от версии к версии | |
|
|
|
|
|
|
|
для: Trianon
(14.10.2009 в 23:39)
| | спасибо за ответ! Я обязательно изучу то что вы написали, может даже пойму, т.к. я в первые вижу все представленные функции
а я тем временем все сделал в 3 строки
$dlina = strlen($rip)-strlen(strrchr($rip, '.'));
$rip = substr($rip, 0, $dlina); // тут стал обрезанный ip ex 66.188.77
а потом тупо
задаем сколько угодно вских массиов и делаем
if (in_array($rip, $ipaa))
{ делаем aa }
elseif (in_array($rip, $ipbb))
{ делаем bb }
elseif (in_array($rip, $ipcc))
{ делаем cc }
else
{ нифига нет такого}
скажите - чем плох этот способ? | |
|
|
|
|
|
|
|
для: Nevi
(14.10.2009 в 22:28)
| | Не нужно оно Вам...
function ipv4flat($addr) { return bin2hex(pack('l', ip2long($addr))); }
После такого преобразования адреса можно будет сравнивать на больше/меньше/равно. | |
|
|
|
|
|
|
|
для: Nevi
(14.10.2009 в 22:28)
| | способов много, можно так:
<?
preg_match_all("/(\w+)\.(\w+)\.(\w+)\.(\w+)/", "123.234.163.121", $out);
echo $out[1][0].'.'.$out[2][0].'.'.$out[3][0];
?>
|
| |
|
|
|
|
|
|
|
для: Trianon
(14.10.2009 в 21:48)
| | а подскажите стандартную функцию php чтобы выводило все по последнюю точку[символ]?
123.234.163.121
чтобы вывело
123.234.163 отрезав .121
я нашел чтото типа strrchr которая только показывает .121 ...а мне надо наоборот чтобы показывало все до этого...
наверняка есть функция - ведь есть же .strrchr | |
|
|
|
|
|
|
|
для: Nevi
(14.10.2009 в 21:36)
| | попробуйте - увидите. | |
|
|
|
|