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

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

$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
  •  
Теги : мобильные устройства, идентификация мобильных гаджетов, проверка на мобилку

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


Комментарии посетителей:
  • Спасибо, пригодится!
    16 ноября 2010, 00:55 коммент полезен : +1 # Max

Предложения и пожелания:
Ваше имя: Ваш E-mail:
Введите изображенные цифры:
Captcha

HTML (19)

CSS (36)

PHP (21)

MySQL (14)

JavaScript (57)

Flash (6)

XML (3)

Apache (34)

Дизайн (35)

Продвижение (31)

Программы (26)

Unix (11)

Интересное (37)


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


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

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

Защита сервера от ошибок в phpMyAdmin

HTML5 - новые виды атак

Социальные рекомендации Twitter в Google

Ашманов про стартапы

Skype Distributed Database Architecture

Erlang - лекарство при высоких нагрузках

Amazon Web Services: инструменты обеспечения масштабируемости и отказоустойчивости

Обсуждения на форуме:

некорректно отображается страница в браузерах

не могу войти в admin

Нужна критика идеи

Поиск по дополнительным полям и формам

Вопрос по категориям

Несколько вопросов по проекту.

Плагины, меню и интеграция

Ошибка в тексте? Выделите её мышкой и нажмите: Ctrl + Enter| Здравствуйте, Гость | Войти | Регистрация| Карта сайта | RSS ленты
О проекте | Скачать CMS | Видеоуроки | Документация | Плагины | Форум | Идеи | Новости | Веб-мастеру | Контакты

YaPro CMS в Живом Журнале

YaPro CMS в Твитере

YaPro CMS в Одноклассниках

YaPro CMS в Яндекс.Блогах


youtube.com/watch?v=7hFivbgIEqk

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


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