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

  • Автор темы Автор темы InviS
  • Дата начала Дата начала

InviS

Новичок
Определение города и страны по IP

Ребят, столкнулся с проблемой... Нужно определить город и страну по ip... Перерыл уже кучу API, остановился на MaxMind... У меня уже все готово было... все работало на домашнем PC на Денвере.. Начал переносить файлы на хостинг - бинарный файл с базой данных удаляется ;( т.к. он весит 27метров... Ограничения у них в условиях я не нашел... Использовал emaxihost.com (неплохой и без рекламы)

Кто что может посоветовать? Кроме использования платного хостинга! Проект нужен для себя, поэтому смысла платить за него я не вижу! Жду советов!
 
Переносить по кускам, выставить опции, чтобы хостинг жрал большие файлы. Все на твой вкус.
 
что за опции такие про большие файлы? файл один... имеет расширение .dat и весит 27 метров... когда переношу после закачки он тупо удаляется... я думал это сервер так настроен
 
1) Написать хостеру с просьбой. Они наверняка такое удаляют, чтобы у них не устраивали файлопомойку, и вряд ли будут против geoip-базы, особенно, если ее класть вне DocRoot-а
2) Если есть mysql-база, и там нет серьезных ограничений на объем таблицы, можно переконвертировать базу в SQL;
3) Поискать ремотное API, позволяющее делать то же самое отправкой http-запросов соответствующему сервису, а не держать все у себя.
 
уже нашел решение - пункт 3 :) Хостеру еще вчера написал, но они до сих пор не откликнулись :)
 
В принципе можно предложить 2 решения проблемы

1) Разбить файл на 27 частей, закачать их по отдельности на сервер и написать обедающий скрипт, примерно так
PHP:
 $out=fopen("GeoIP.dat","w+b");
  for($n=0;$n<30;$n++){
    if($f=fopen("GeoIP_$n.dat","rb")){
      $buf=fread($f1,10*1024*1024);
      fclose($f);
      fwrite($fout,$buf);
   };
 };
 fclose($fout);
Хотя и здесь хостер может удалить такой файл большой, правда и не сразу.

2) Разобраться в бинарном формате GeoIP.dat, перепаковать его по файлам скажем до мегабайта, и подкорректировать класс GeoIP чтобы он работал не с одним здоровенным файлам, а с кучей мелких

Внешний запрос конечно хорошо, у него база, скорее всего, всегда в актуальном состоянии. Но во первых это будет замедлять работу скрипта. А во вторых этот внешний сервис может вас временно забанить, если будите к нему часто обращаться.
 
Это только для России. В принципе я уже решил проблему. Всем спасибо!
 
Сверху