<MyRusakov.ru />

Фреймворк Yii 2.0 с нуля. Пример создания сайта

Фреймворк Yii 2.0 с нуля. Пример создания сайта

Видеокурс "Фреймворк Yii 2.0 с нуля. Пример создания сайта" обучит Вас созданию профессиональных сайтов с использованием фреймворка Yii. В курсе есть 2 раздела: теоретический и практический. В теоретическом разделе будут разобраны возможности фреймворка Yii с примерами их использования, а в практической части будет создан сайт Blog.MyRusakov.ru с помощью полученных знаний из теоретического раздела.

Так же почти ко всем урокам идут упражнения для закрепления материала из урока на практике.

После прохождения курса Вы без труда сможете создавать любые сайты с использованием фреймворка Yii, причём делать это будете быстро и качественно.

Подробнее
Подписка

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Каким движком Вы предпочитаете пользоваться?

Как узнать страну по IP-адресу через PHP

Как узнать страну по IP-адресу через PHP

Если Вы собираетесь делать собственную статистику посещений для своего сайта, то, наверняка, Вы захотите знать, из какой страны приходят к Вам посетители. Узнать страну посетителя можно по его IP-адресу, и в этой статье мы разберём, как это делается через PHP.

Узнать страну по IP-адресу через PHP можно двумя путями. Первый путь - это воспользоваться каким-нибудь WHOIS-сервисом, отправив на него запрос и получить от него ответ. Второй вариант - создать свою таблицу в базе данных, в которой будут находиться соответствия IP-адресов и стран. Плюсы и минусы первого и второго способа очевидны, поэтому не буду на них останавливаться. Второй способ реализации зависит от Вашей базы данных и от таблицы, в которой находятся соответствия IP-адресов и стран. Поэтому мы с Вами рассмотрим первый способ, так как он универсален, хотя, безусловно, на локальном сервере без подключения к Интернету Вы не сможете протестировать данный скрипт:

<?php
  if( $curl = curl_init() ) {
    $ip = $_SERVER["REMOTE_ADDR"];
    curl_setopt($curl, CURLOPT_URL, 'http://ip-whois.net/ip_geo.php?ip='.$ip);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER,true);
    $out = curl_exec($curl);
    $matches = array();
    $country = preg_match_all("/Страна: (.*)/i", $out, $matches);
    print_r($matches[1][1]);
    curl_close($curl);
}
?>

Кратко принцип: находим сервис, смотрим, как надо отправлять запрос (как называются переменные, каким методом отправляются), отправляем через cURL запрос, получаем ответ, вытаскиваем нужную строку через регулярные выражения, выводим результат. Если Вы запустите этот скрипт, то увидите название страны, которой принадлежит Ваш IP-адрес. Однако, стоит отметить, что далеко не для каждого IP-адреса возможно узнать страну. Тут зависит от базы, которую использует конкретный WHOIS-сервис. Сразу скажу, что для тестирования этого скрипта надо его загрузить на удалённый сервер, чтобы не подставлялся IP-адрес: 127.0.0.1, так как он не сработает, ведь для него страны не сущесвует. Либо же просто замените значение переменной $ip на какой-нибудь другой IP-адрес. Как видите, всё очень просто, главное, здесь чётко выбрать один из двух способов. Если Вы захотите узнавать страну по IP-адресу через свою базу данных, то тогда Вам надо её предварительно найти. Их достаточно много, поэтому просто поищите их в Интернете. А если Вас устраивает пользоваться WHOIS-сервисом и экономить ресурсы своего сервера и место в базе данных, то тогда можете использовать код выше, а, доработав регулярное выражение, Вы можете вытащить и другие данные, которые выдаёт данный сервис, например, город.

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (18):

Sprat Sprat 10.05.2012 10:51:05

Прошу заметить, что значение $matches[1][1] возвращается к пользователю со значением "<br>" (Например - Russian Federation<br>) Поэтому сравнивать данное значение с постоянной константой не получится.

Ответить

sashajk sashajk 04.03.2013 17:50:36

Что означает эта запись: "if( $curl = curl_init() )" ? По этому примеру мне выдает ошибку: "Fatal error: Call to undefined function curl_init() "

Ответить

Admin Admin 04.03.2013 21:20:17

http://myrusakov.ru/php-curl-denwer.html

Ответить

remox remox 24.06.2013 22:21:51

Михаил, подскажите пожалуйста, как сделать, что блоки по клику сворачиваются - слева колонка - круто) JQuery?

Ответить

Admin Admin 25.06.2013 10:36:34

http://myrusakov.ru/skrytyj-tekst-javascript.html

Ответить

remox remox 25.06.2013 12:35:45

Спасибо) а как делается так, чтоб комментарии лесенкой располагались?

Ответить

Admin Admin 25.06.2013 12:40:12

Через CSS, каждый внутренний ul содержит дополнительный margin-left.

Ответить

remox remox 25.06.2013 18:30:33

понимаю, что css, тег ul знаком, свойство margin-left также знакомо, непонимаю алгоритма реализации такой фишки =\

Ответить

Admin Admin 25.06.2013 21:02:45

<ul><li><ul><li><ul> - и так далее. И в CSS ul {margin-left: 20px;}

Ответить

remox remox 26.06.2013 00:39:20

благодарю) буду пробовать - может и получится у меня))

Ответить

Nick383 Nick383 01.07.2013 17:14:35

Михаил, как дальше завязать результат и страницы мультиязычного сайта? Сайт на DLE имеет три языковых версии рус,нем и анг. как определить страну и вывести нужную версию сайта?

Ответить

Admin Admin 01.07.2013 19:06:20

Не работаю с готовыми движками: http://myrusakov.ru/php-engine-vs-null.html

Ответить

Nick383 Nick383 02.07.2013 10:14:07

готовые или нет, по сути нет разницы. я хотел у Вас спросить какой код будет для моей задачи?

Ответить

Admin Admin 02.07.2013 10:19:21

Разница не просто есть, она бесконечно огромная. И раз Вы задаёте этот вопрос, то это и есть разница. Нет никаких кодов. Вам нужны расширения.

Ответить

kyp4ak kyp4ak 12.05.2014 08:45:21

Страну не правильно выводит, почему?

Ответить

tikkiwiki tikkiwiki 13.05.2014 09:29:44

Может потому, что интернет у пользователя через прокси.

Ответить

Orendev Orendev 09.06.2015 10:48:55

Как можно реализовать на сайте вывод контента для каждого региона свой.

Ответить

daniil264 daniil264 26.06.2016 16:53:37

А это точно не устаревший скрипт? я новичок в пхп просто если ввести в браузер http://ip-whois.net/ip_geo.php?ip=123.32.45 (например), то сервис пишет, что страницы не существует к примеру я подставлял свой правильный ip тоже

Ответить

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.