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

Автор: Aport Вторник, Январь 27th, 2015 Нет комментариев

Рубрика: Разное

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

 

$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-сайт
}
}
?>

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

 

Источник: yapro.ru

Оставить комментарий

Чтобы оставлять комментарии Вы должны быть авторизованы.

Похожие посты