Начало Новини Маркет Проекти Форум ИТ Работа Уроци Скриптове WiFi точки Още Вход


PHP- Как да определим географско местоположение на потребителя

От Mutatos / 31.01.2012 23:53
Размер на шрифта: A | A | A

Има няколко прости начина да направите за да разберете къде живее момичето което харесвате. Ще ви покажем как да  използвате GeoCode безплатната версия на MaxMind.
MaxMind предлага платена версия на този скрипт, който вероятно предлага много повече функционалност. Безплатната база данни върши същата работа. Проверих резултатите чрез американски градове. Аз не съм сигурен как това работи с международни посетители, но аз го използвате за таргетиран трафик в САЩ.
Първо вас ще трябва да изтеглите база данни и PHP API код:

MaxMind GeoLiteCity
Geoip.inc
Geoipcity.php
Geoipregionvars.php
След като изтеглите всичките файлове. Извлечете ги и ги качете в една папка на вашия сървър.

Сега, за да използвате  API, трябва да използвате няколко файла. Тогава, ще се отворят базата данни и се проверява местоположението на потребителите:

Code Snippet:
CODE
1
2
3
4
5
6
1 include("geoip.inc");
2 include("geoipcity.inc");
3 include("geoipregionvars.php");
4 $gi = geoip_open("./GeoLiteCity.dat", GEOIP_STANDARD);
5 $rsGeoData = geoip_record_by_addr($gi, $_SERVER['REMOTE_ADDR']);
6 geoip_close($gi);

Така, ще вземем информацията, но какво можем да направим с нея. За да разберете какви променливи,  можете да използвате ползвайте този масив:

CODE
1
2
3
4
5
6
7
8
9
10
01 include("geoip.inc");
02 include("geoipcity.inc");
03 include("geoipregionvars.php");
04 $gi = geoip_open("./GeoLiteCity.dat", GEOIP_STANDARD);
05 $rsGeoData = geoip_record_by_addr($gi, $_SERVER['REMOTE_ADDR']);
06 geoip_close($gi);
07
08
print "<pre>";
09 print_r($rsGeoData);
10 print "</pre>";
Резултата трябва да иизглежда така:
geoiprecord Object
(
    [country_code] => US
    [country_code3] => USA
    [country_name] => United States
    [region] => TN
    [city] => Memphis
    [postal_code] =>
    [latitude] => 35.1242
    [longitude] => -89.9521
    [area_code] => 901
    [dma_code] => 640
)

ОК, така всичко, което трябва да направите е да се повторят резултатите в правилните места. Например:
   
CODE
1
2
3
1 echo $rsGeoData->city;
2 echo ' ,';
3 echo $rsGeoData->region;

Ако се използва : Мемфис, Тенеси, можете да използвате нещо като това в хедъра:

CODE
1
2
3
4
5
6
7
8
9
10
11
01 <?php
02 include("geoip.inc");
03 include("geoipcity.inc");
04 include("geoipregionvars.php");
05 $gi = geoip_open("./GeoLiteCity.dat", GEOIP_STANDARD);
06 $rsGeoData = geoip_record_by_addr($gi, $_SERVER['REMOTE_ADDR']);
07 geoip_close($gi);
08 
09
$location$rsGeoData->city.','.$rsGeoData->region;
10
11
?>


След това във вашия шаблон, където искате града, щата за показване прости:
CODE
1
1 <h1>Meet girls near <?php echo $location;?></h1>



   

Статистика
Погледнат: пъти
Гласове: --
Оценка:
Действие
 



myTech.bg © 2004 - 2011 | Контакти | За реклама