Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Диапазон IP-адресов вставить в массив
|
|||
|---|---|---|---|
|
#18+
Добрый день. Есть следующая ситуация : Код: php 1. 2. 3. 4. 5. Но на самом деле массив ИП-адресов выглядит так 66.231.188.0/24 (для примера), точнее таких массивом много (допустим 10) Вопрос : как средствами РНР из 66.231.188.0/24 сделать последовательность элементов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2015, 21:50 |
|
||
|
Диапазон IP-адресов вставить в массив
|
|||
|---|---|---|---|
|
#18+
IP-адрес - это 32-битное целое. Переведите строковое представление проверяемого и граничных адресов диапазона в числа и выполните пару проверок на больше и меньше. А строить массив... не знаю, насколько оно оправдано. Особенно, при больших диапазонах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2015, 22:08 |
|
||
|
Диапазон IP-адресов вставить в массив
|
|||
|---|---|---|---|
|
#18+
оно оправдано, иначе прийдется писать тысячи элементов вручную кое кто кое где пишет так : Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. но что все это значит? а главное как проверить? var_dump выдает : array(2) { ["Localhost"]=> array(2) { [0]=> string(4) "" [1]=> string(4) "яяяя" } ["Gigabot"]=> array(2) { [0]=> string(4) "Bзј" [1]=> string(4) "яяя" } } что то не заметно большого числа элементов в виде Ип-адресов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2015, 22:16 |
|
||
|
Диапазон IP-адресов вставить в массив
|
|||
|---|---|---|---|
|
#18+
Pcrepair, это форматированный вывод $ad_Robots_IP = array( 'Localhost' => array( sprintf('%d.%d.%d.%d', 127, 0, 0, 1), sprintf('%d.%d.%d.%d', 255, 255, 255, 255) )); echo "<pre>"; print_r($ad_Robots_IP); echo "</pre>"; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2015, 22:27 |
|
||
|
Диапазон IP-адресов вставить в массив
|
|||
|---|---|---|---|
|
#18+
mini.weblab, =) Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2015, 22:37 |
|
||
|
Диапазон IP-адресов вставить в массив
|
|||
|---|---|---|---|
|
#18+
это понятно. но все таки как из 66.231.188.0/24 (или 66.231.188.1 - 66.231.188.255) трансформироваться в массив 66.231.188.1 66.231.188.2 66.231.188.3 66.231.188.4 и так далее до 66.231.188.255 66.231.188.0/24 - это такое представление диапазона адресов эквивалентно 66.231.188.1 - 66.231.188.255 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2015, 22:41 |
|
||
|
Диапазон IP-адресов вставить в массив
|
|||
|---|---|---|---|
|
#18+
Pcrepair, Код: php 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2015, 23:00 |
|
||
|
Диапазон IP-адресов вставить в массив
|
|||
|---|---|---|---|
|
#18+
там что то слишком сложно есть же if (in_array($cur_ip_adrr, $ip_array)) видимо прийдется в отдельном файле прописать массив массивов как $ip_array тысяч десять ИП-адресов около. это вообще не будет тормозить веб-сервер? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2015, 23:15 |
|
||
|
Диапазон IP-адресов вставить в массив
|
|||
|---|---|---|---|
|
#18+
Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2015, 23:16 |
|
||
|
Диапазон IP-адресов вставить в массив
|
|||
|---|---|---|---|
|
#18+
Pcrepair, Прочтите уже инструкцию и туеву хучу каментов к ней. Есть там даже решение Вашей исходной задачи. А хотите упорно строить массив... Для этого вычленяете из описывающей подсеть строки базовую часть адреса и маску, определяете по ним границы диапазона, запускаете цикл от нижней до верхней границ и получаете искомый адрес, который впихивате в свой мега-массив (опять же, инструкция по получению строкового представления из числа). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2015, 23:17 |
|
||
|
Диапазон IP-адресов вставить в массив
|
|||
|---|---|---|---|
|
#18+
проверим, что сказал vkle Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. т.е. получается, что кое-кто использовал UTF-8 (вместо 32-битного числа) для кодировки IP адресов так или нет? Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2015, 00:36 |
|
||
|
Диапазон IP-адресов вставить в массив
|
|||
|---|---|---|---|
|
#18+
mini.weblab, ASCII (вместо 32-битного числа) для кодировки IP адресов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2015, 00:41 |
|
||
|
Диапазон IP-адресов вставить в массив
|
|||
|---|---|---|---|
|
#18+
И вот что получилось : Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. Теперь можно критиковать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2015, 21:29 |
|
||
|
Диапазон IP-адресов вставить в массив
|
|||
|---|---|---|---|
|
#18+
Pcrepair, вроде работает =) 1)по поводу условий: достаточно просто написать: if (condition) {//some code} например: if ($flag ) {echo 'YES';} else {echo 'NO';} 2) в книжке условное echo записывается так: echo ($flag) ? 'Yes' : 'No'; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2015, 23:41 |
|
||
|
|

start [/forum/topic.php?fid=23&msg=38941103&tid=1461831]: |
0ms |
get settings: |
6ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
130ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
| others: | 228ms |
| total: | 442ms |

| 0 / 0 |
