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

Funaki

Полезный
Регистрация
26 Июн 2008
Сообщения
151
Реакции
16
Хочу в шаблоне joomla поставить проверку на мобилу (ipad/iphone) подскажите кусок кода на php как сие сделать?
 
Первая же ссылка из гугла с нужной функцией
Код:
    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;
        }
    }
 
первый вариант отличный простой и понятный уже интегрирую, но и второй вижу стоящий вот только ничего не понятно, как работает - регулярка, условия куда вставлять?
И ещё, может заодно подскажите как определить iOS и гео (москва)?
 
Последнее редактирование:
первый вариант отличный простой и понятный уже интегрирую, но и второй вижу стоящий вот только ничего не понятно, как работает - регулярка, условия куда вставлять?
И ещё, может заодно подскажите как определить iOS и гео (москва)?
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; 
}
 
продолжу тему новым вопросом, кто знает параметры HTTP_USER_AGENT для
1. яндекс.браузера
2. яндекс.бара (кто знает блочит ли он реклу?)
 
Назад
Сверху