Определение страны

Spectrum

Guest
Определение страны

Подскажите где можно посмотреть и с помощью какой функции можно определять страну посетителя ? и фильтровать посетителей по странам?
Спасибо.
 

Spectrum

Guest
Нашёл и скачал *.csv файл но как его читать ? Если с базой понятно по полям, то здесь - не могу понять.....
И ещё вопрос к чему лучше организовывать запрос к SQL базе или к *.csv файлу? И в чём разница?
 

Gas

может по одной?
И в чём разница?
IMHO. Как минимум работа с базой будет удобней. Да и всё таки лучше использовать возможности SQL и механизмы самой базы для работы с данными, чем изобретать велосипед.

-~{}~ 26.10.04 06:40:

Нашёл и скачал *.csv файл но как его читать ?
csv - comma separated values
значит данные разделены запятыми (или другим разделителем)
читаешь файл построчно, разбиваешь каждую строку по "сепаратору" , и делаешь с полученными массивами чего душе угодно.
[m]fgetcsv[/m], [m]file[/m], [m]explode[/m]
 

SelenIT

IT-лунатик :)
лично я этот файл преобразовал в sql-дамп с помощью вордовской "найти-и-заменить" в два прохода :)
вообще вариантов масса
 

Spectrum

Guest
Автор оригинала: SelenIT
лично я этот файл преобразовал в sql-дамп с помощью вордовской "найти-и-заменить" в два прохода :)
вообще вариантов масса
А поподробнее можно ;) что нужно найти и заменить ?
 

Фанат

oncle terrible
Команда форума
Spectrum, берешь, рисуешь перед собой две строчки.
одна - Csv, а другая - запрос, который хочешь из нее получить.
И втыкаешь, что на что надо заменить.
попробуй - это не так трудно, как тебе кажется.
Да и учиться программированию все равно надо когда-то начинать
 

Spectrum

Guest
Да вопрос пока в алгоритме
а именно что делать с этим csv файлом .... я так понял нужно перевести в sql -
Поправте меня

Есть строка:

4.20.70.0,"4.20.70.255","68437504","68437759","FR","France"

Добавляем '' к первому элементу.
Заменяем "" на '' все остальные.
Это в Worde я так понял можно сделать
А вот как каждую строку привести к такому виду
INSERT INTO `ip_db` VALUES ('4.20.70.0','4.20.70.255','68437504','68437759','FR','France');
пока недопонял;)
И ещё - первый и второй элемент - это low - high IP , а следующие 2 значения что означают?
Спасибо.
 

Фанат

oncle terrible
Команда форума
знак перевода строки в поиске-замене в ворде обозначается, как ^p
дальше рсассказывать?
 

SelenIT

IT-лунатик :)
первый и второй элемент - это low - high IP , а следующие 2 значения что означают?
Те же самые "low - high IP", только в числовом виде.

Преобразование одного вида в другой: в php - [m]ip2long[/m], [m]long2ip[/m],
в MySQL - INET_ATON(), INET_NTOA()

Так что можно обойтись одним вариантом (ИМХО удобнее числовой).
 

Nirva

Dmitry Polyakov
ну вообще-то я видел на некоторых сайтах дамп для mysql за начало 2004го по городам. примерный вес - 37 метров в зипе. сам sql около 100 метров.
 

Spectrum

Guest
Переделал всё загнал в sql...
И тут вопрос по IP в числовом виде

IP начинающиеся с 68 и до 100 нормально переводит
А вот дальше не могу понять

Данные
('132.246.0.0','132.246.255.255','2230714368','2230779903','CA','Canada',14985);

'132.246.0.0' у меня получается -2064252928 вместо 2230714368 ну и так далее ..... это неправильные переводы или я неправильно перевожу?
Что делать?

... и база вроде свежая 04.10.2004 взята с ip-to-country.com

-~{}~ 27.10.04 09:54:
 

Spectrum

Guest
SelenIT спасибо всё добил её .
А как дамп с локала сделать ? А то на локале phpadmina не имеется :)
 

Spectrum

Guest
mysqldump -u root -p base ip_country>e:\dump.txt;

пишет
MYSQLDUMP: Can't get CREATE TABLE for table 'ip_country;' (Table 'base.ip_country
;' doesn't exist)

....base и ip_country есть...
... не могу понять чего она хочет?
 

ys

отодвинутый новичок
Spectrum

знаешь чем отличается сделать дамп базы и залить дамп в базу?
 

Spectrum

Guest
MYSQLDUMP: Got error: 1146: Table 'base.ip_country;' doesn't exist when doing LOCK TABLES

Хелп ! mysqldump не находит ни одной базы про таблицы вообще молчу.
Как с этим можно бороться?
 

JOGADOR

Guest
Вот, наткнулся случайно...
может пригодиться по теме...
http://www.32tech.com/ip-to-country/
 
Сверху