PHP

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

Узнаем пользователя по его гаджету и показываем ему нужный вариант сайта или вид документа.
$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-сайт
        }
    }
    ?>

А какие Вы способы применяете для определения мобильных устройств?
Добавлено: 24 Августа 2013 06:00:10 Добавил: Андрей Ковальчук Нравится 0
Добавить
Комментарии:
Нету комментариев для вывода...