Gimmi
Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Нужно хранить ip адреса в бд, причем нужно сделать так, что бы можно было бы задавать диапазон адресов. Есть вариант перевода: 177.210.102.6 => ((177*256+210)*256+102)*256+6 = 2983355910. Но это не устраивает, т.к. узнать ip по 2983355910 можно только перебором... Например, движок phpBB как-то конвертит адреса... но как? Добавлено из phpBB: function encode_ip($dotquad_ip) { $ip_sep = explode('.', $dotquad_ip); return sprintf('%02x%02x%02x%02x', $ip_sep[0], $ip_sep[1], $ip_sep[2], $ip_sep[3]); } function decode_ip($int_ip) { $hexipbang = explode('.', chunk_split($int_ip, 2, '.')); return hexdec($hexipbang[0]). '.' . hexdec($hexipbang[1]) . '.' . hexdec($hexipbang[2]) . '.' . hexdec($hexipbang[3]); } Но не понятно... может кто объяснит? |