Общие > Базы данных

Использование масок

<< < (3/5) > >>

ThE0ReTiC:
Xander
А может и можно. :)
Я просто через регулярки такую проблему решал и знаю, что это работает.

Ardzhan:
Maniac
Да... Именно это. Если бы наоброт выбрать маску из базы, тогда проще SeLECT... Where ip LIKE \'127.0.0.%\'...
А как проверить, что одна из масок в базе соответствует IP???

Ardzhan:
Xander Не пашут эти биты...
Сделал функцию:


function comparemask($string, $mask){
$mask=str_replace(".", "\\.", $mask);
$mask=str_replace("*", "(.+)", $mask);
if (preg_match ("/$mask/i", $string)) {return 1;} else {return 0;}
}


Ну и что??? Выгружать теперь всю таблицу?  :(

Макс:
Ardzhan
если маски будут лишь 127.0.0.* или 127.0.*.* то имхо можно и через функции INET_ATON , INET_NTOA (не знаю быстрее ли они чем REGEXP)
если маски будут типа 127.*.0 то , как тебе уже тут писали - через REGEXP.

Xander:
У меня есть ощущение, что пробежаться с битовыми операциями в PHP-массиве может быть быстрее, чем с регекспами в базе, но я в этом не уверен. А битовые операции MySQL действительно с символами не работают :(

Навигация

[0] Главная страница сообщений

[#] Следующая страница

[*] Предыдущая страница

Sitemap 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 
Перейти к полной версии