[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Помогите запаковать базу ip
Страницы: 1, 2
vestmar
Добрый день!
Нужна идея, я уверен их даже несколько)
http://ru.myip.ms/files/bots/live_webcrawlers.txt вот база ip ботов, есть ли возможность её сократить,
например CIDR или через ip2long превратить в диапазоны, и что бы был как можно меньше размер в текстовом файле.
paul85
Перегоните в БД и все дела... Только да, надо через inet_aton. Там всего лишь чуть больше 100к записей. Потеряете больше на преобразовании в итоге...
vestmar
Неее мне нужно в текстовом виде, без базы данных
попытался в ip2long перевести


$a = file('bots_ip.txt');

foreach($a as $b){
$c = sprintf("%u\n", ip2long($b));
file_put_contents('iptolong.txt', $c, FILE_APPEND | LOCK_EX);
}


Файл с нулями пишет..
Подскажите пожалуйста в чём тут дело?
killer8080
Цитата (vestmar @ 1.06.2015 - 20:22)
Файл с нулями пишет..

во первых там не каждая строка IP
во вторых в строку попадают символы перевода строки, нужно прогонять через trim()
paul85
vestmar, да зачем это нужно-то никак не пойму? "Запаковать" в подсети не получится - IP адреса идут не по порядку. Ну может быть процентов на 20 файл сократится, конечно... Ну хорошо, даже если на 50%, что утопия... Все-равно это 50к+ записей. Что вы будете делать с таким огромным файлом? Один фиг его ни в PHP нельзя эффективно использовать, ни где бы то ни было еще.

Вам для фаервола что ли? Я просто пытаюсь понять, что вы хотите в итоге получить от этого (нового) файла?

vestmar
Просто проверку бота по ip. Быструю, без использования БД, у меня до этого была по CIDR прогоняла, но там мало этих диапазонов.

Прогнал через trim() , всё равно выводит один 0 на экране и всё!
killer8080
Цитата (vestmar @ 1.06.2015 - 20:58)
Прогнал через trim() , всё равно выводит один 0 на экране и всё!

...
$c = sprintf("%u\n", ip2long(trim($b)));
...

так?
vestmar
Вот!


$a = file('bots_ip.txt', FILE_IGNORE_NEW_LINES);

foreach($a as $b){
$c = sprintf("%u\n", ip2long(trim($b)));
echo $c;
}


killer8080
echo $b;
что говорит?
Valick
Цитата (vestmar @ 1.06.2015 - 20:58)
Быструю, без использования БД

бугага-га-гага-гага-бу

_____________
Стимулятор ~yoomoney - 41001303250491
vestmar
Цитата (Valick @ 1.06.2015 - 22:31)
Цитата (vestmar @ 1.06.2015 - 20:58)
Быструю, без использования БД

бугага-га-гага-гага-бу

АХАХАХАХХА))))
vestmar
всё окей, в файле было дело, в массив не брался, я как регуляркой пройдусь \r\n по файлу, и всё.... почему то file() не прёт...
Valick
vestmar, открою вам секрет БД - это тоже теже самые файлы. Система управления написана на Си и годами заточена на работу с большими объёмами. Никогда у вас РНР не будет обрабатывать файлы быстрее чем база данных.


_____________
Стимулятор ~yoomoney - 41001303250491
vestmar
Да я понимаю) я просто в этом не шарю...
vestmar
Спасибо всем) Здесь по крайней мере меня не отправили думать и не послали) Как на другом форуме...
Хотя я привык, это же росия)
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.