Как распознать мобилу

Тема в разделе "Как сделать...", создана пользователем Funaki, 3 мар 2015.

  1. Funaki

    Funaki

    Регистр.:
    26 июн 2008
    Сообщения:
    151
    Симпатии:
    16
    Хочу в шаблоне joomla поставить проверку на мобилу (ipad/iphone) подскажите кусок кода на php как сие сделать?
     
  2. SocMaster

    SocMaster aka Hakerok

    Регистр.:
    26 июл 2011
    Сообщения:
    213
    Симпатии:
    47
    Первая же ссылка из гугла с нужной функцией
    Код:
        function mobile_user_agent_switch(){
            $device = '';
           
            if( stristr($_SERVER['HTTP_USER_AGENT'],'ipad') ) {
                $device = "ipad";
            } else if( stristr($_SERVER['HTTP_USER_AGENT'],'iphone') || strstr($_SERVER['HTTP_USER_AGENT'],'iphone') ) {
                $device = "iphone";
            } else if( stristr($_SERVER['HTTP_USER_AGENT'],'blackberry') ) {
                $device = "blackberry";
            } else if( stristr($_SERVER['HTTP_USER_AGENT'],'android') ) {
                $device = "android";
            }
           
            if( $device ) {
                return $device;
            } return false; {
                return false;
            }
        }
     
    Funaki нравится это.
  3. Denixxx

    Denixxx

    Регистр.:
    7 фев 2014
    Сообщения:
    247
    Симпатии:
    194
    Funaki нравится это.
  4. Funaki

    Funaki

    Регистр.:
    26 июн 2008
    Сообщения:
    151
    Симпатии:
    16
    первый вариант отличный простой и понятный уже интегрирую, но и второй вижу стоящий вот только ничего не понятно, как работает - регулярка, условия куда вставлять?
    И ещё, может заодно подскажите как определить iOS и гео (москва)?
     
    Последнее редактирование: 3 мар 2015
  5. serjeknsk

    serjeknsk Писатель

    Регистр.:
    20 фев 2015
    Сообщения:
    7
    Симпатии:
    2
    iOS определяйте по девайстам (в user agent), по айпи - вытаскиваете его скриптом и сравниваете с актуальной базой айпи, например от GeoIP (CNStats)
    PHP:
    function get_ip(){ 
     if (
    $ip getenv("HTTP_CLIENT_IP")) return $ip
     if (
    $ip getenv("HTTP_X_FORWARDED_FOR"))  
     { 
      if (
    $ip == '' || $ip == "unknown"
      { 
        
    $ip getenv("REMOTE_ADDR"); 
      } 
      return 
    $ip
     } 
     if (
    $ip getenv("REMOTE_ADDR")) return $ip
    }
     
    Funaki нравится это.
  6. Funaki

    Funaki

    Регистр.:
    26 июн 2008
    Сообщения:
    151
    Симпатии:
    16
    продолжу тему новым вопросом, кто знает параметры HTTP_USER_AGENT для
    1. яндекс.браузера
    2. яндекс.бара (кто знает блочит ли он реклу?)
     
  7. Eugeny

    Eugeny Создатель

    Регистр.:
    14 окт 2011
    Сообщения:
    16
    Симпатии:
    4
  8. penguen

    penguen

    Регистр.:
    7 янв 2007
    Сообщения:
    823
    Симпатии:
    95
    Перейти по ссылке
     
    Funaki нравится это.