не выводит данные по ip пользователя

243
19 апреля 2017, 14:18
$ip = '83.149.47.116'; // IP, который будем проверять
$typeData = 'json'; // в каком виде мы получим данные. json или xml
// формируем URL для запроса
$url = "http://ru.smart-ip.net/geoip-$typeData/$ip";
// делаем запрос к API
$data = @file_get_contents($url);
// если получили данные
if($data){
// декодируем полученные данные
$dataDecode = json_decode($data);
// выводим данные
echo "Страна: " . $dataDecode->countryName . "<br/>";
echo "Код страны: " . $dataDecode->countryCode . "<br/>";
echo "Город: " . $dataDecode->city . "<br/>";
echo "Область: " . $dataDecode->region . "<br/>";
echo "Широта: " . $dataDecode->latitude . "<br/>";
echo "Долгота: " . $dataDecode->longitude . "<br/>";
echo "Часовой пояс: " . $dataDecode->timezone . "<br/>";
}else{
echo "Сервер не доступен!";
}

Выводит на Экран:

Страна:
Код страны:
Город:
Область:
Широта:
Долгота:
Часовой пояс: 

Логи апача:

[Tue Apr 18 11:19:10.388594 2017] [:error] [pid 3581] [client 127.0.0.1:35456] PHP Notice:  Trying to get property of non-object in /var/www/projects/geoip.com/index.php on line 16
...
[Tue Apr 18 11:19:10.388643 2017] [:error] [pid 3581] [client 127.0.0.1:35456] PHP Notice:  Trying to get property of non-object in /var/www/projects/geoip.com/index.php on line 22
Answer 1

Если вы проверите в вашем коде переменную $data, то обнаружите, что вы не получаете какой-либо массив данных, вместо этого вы получаете Service Temporaly Unavailable. Собственно, если зайти по адресу http://ru.smart-ip.net/geoip-json/83.149.47.116, итог будет таким же. Соответственно, ваш код в дальнейшем получает из json_decode($data); $dataDecode=NULL, ну и дальше все понятно.

Проблема с этим сервисом общая, не только у вас. Будет он в дальнейшем работать или нет - вопрос к его создателям. Пока что же у них не работает их API в принципе, ни в формате json, ни в формате xml.

READ ALSO
Сайт отображение местоположения android в реальном времени

Сайт отображение местоположения android в реальном времени

У меня есть простое приложение на андроид, которое, например, каждую минуту отправляет координаты местоположения на сервер (простой php или...

275
Пропали uri ресурсов из БД MODX Revo

Пропали uri ресурсов из БД MODX Revo

Добрый день, Сайт работает около месяца и все было нормальноНо в один прекрасный момент в БД Очистились поля uri у ресурсов с parent = 0

283
Php DB Microsoft Access запрос

Php DB Microsoft Access запрос

Помогите исправить ребятаПробовал прописать в конфиг Apache AddDefaultCharset UTF-8

270
VK API ошибка в доступе

VK API ошибка в доступе

ПриветЯ создал свое приложение как полагается

483