Определение просмотра сайта с КПК или коммуникатора

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

$IEMobile = spliti('IEMobile', $_SERVER['HTTP_USER_AGENT']);
$PPC = spliti('PPC', $_SERVER['HTTP_USER_AGENT']);// (compatible; MSIE 4.01; Windows CE; PPC; 240х320)
$NetFront = spliti('NetFront', $_SERVER['HTTP_USER_AGENT']);// SonyEricssonK530i/R6BC Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1
if($IEMobile['1'] || $PPC['1'] || $NetFront['1']){ header("location: http://".$_SERVER['HTTP_HOST']."/wap/"); exit; }

А если Вы хотите охватить целиком все мобильные гаджеты, то советую использовать API Детектор от Яндекса

В свою очередь, я его применил таким образом:

<?php

$headers = '';

foreach ($_SERVER as $key => $value) {
    if (strpos($key, 'HTTP_') === 0 && $key != 'HTTP_HOST') {
        $key = strtolower(strtr(substr($key, 5), '_', '-'));
        $headers .= $key . ': ' . $value . "\r\n";
    }
}

$opts = array(
    'http'=>array(
        'method'=>"GET",
        'header'=> $headers,
    )
);

$xml = @file_get_contents('http://phd.yandex.net/detect', false, stream_context_create($opts));

// если мобильное устройство опознано:
if($xml && trim($xml) != '<yandex-mobile-info-error>Unknown user agent and wap profile</yandex-mobile-info-error>'){
    if(substr($_SERVER['REQUEST_URI'], 0, 4)!='/wap'){// если это не wap-страница
        header("location: http://".$_SERVER['HTTP_HOST']."/wap.html"); exit;// переадресовываем на wap-сайт
    }
}
?>

А какие Вы способы применяете для определения мобильных устройств?

Оцени публикацию:
  • 4,20
Оценили человек: 4
Теги : мобильные устройства, идентификация мобильных гаджетов, проверка на мобилку

Похожие статьи:

Справочники и учебники:


Комментарии посетителей:
  • Спасибо, пригодится!
    15 ноября 2010, 21:55 коммент полезен : +1 # Max
Предложения и пожелания:
Ваше имя:
Ваш E-mail:
Сколько будет Οдин + Τри
Главная
X

Новые заметки:

Про что мы забываем когда делаем оценку задачи по времени

Список вопросов для собеседования разработчика по телефону

Symfony2 авторизация без Doctrine2 для чайника

Phpstorm7 LiveEdit

Жесткий хабр или не хабр, тогда кто?

Яндекс.Деньги мошенничество

Как узнать какие страницы в поиске яндекса или это секрет

Последние комменты:

Yapro CMS:

Здравствуйте, Гость | Войти | Регистрация | Карта сайта | RSS ленты | Ошибка в тексте? Выделите её мышкой и нажмите: Ctrl + Enter

youtube.com/watch?v=7hFivbgIEqk

При полном или частичном использовании материалов данного сайта, ссылка на сайт "yapro.ru" обязательна как на источник информации.
Автоматический импорт материалов и информации с сайта запрещен.
Copyrights © 2007 - 2018 YaPro.Ru

Главная » Веб-мастеру » PHP »