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