Мобильные устройство развиваются с огромной скоростью и рано или поздно вам придется задумать о мобильной версии сайта. Для того, что бы определить мобильные устройства, которые используют пользователи при просмотре вашего сайта можно задействовать функцию приведенную ниже.
function mobile_detect()
{
$user_agent = $_SERVER['HTTP_USER_AGENT'];
$ipod = strpos($user_agent,"iPod");
$iphone = strpos($user_agent,"iPhone");
$android = strpos($user_agent,"Android");
$symb = strpos($user_agent,"Symbian");
$winphone = strpos($user_agent,"WindowsPhone");
$wp7 = strpos($user_agent,"WP7");
$wp8 = strpos($user_agent,"WP8");
$operam = strpos($user_agent,"Opera M");
$palm = strpos($user_agent,"webOS");
$berry = strpos($user_agent,"BlackBerry");
$mobile = strpos($user_agent,"Mobile");
$htc = strpos($user_agent,"HTC_");
$fennec = strpos($user_agent,"Fennec/");
if ($ipod || $iphone || $android || $symb || $winphone || $wp7 || $wp8 || $operam || $palm || $berry || $mobile || $htc || $fennec)
{
return true;
}
else
{
return false;
}
}
Функция возвращает true или false. Для мобильной версии можно сделать либо редирект (на случай задействования субдомена) либо использовать допиливание шаблона.
Для того, что бы запоминать какой версией пользуется пользователь и отдавать корректный контент, можно воспользоваться куками. Получится похожее на следующее:
if (empty($_COOKIE['mobile']) || $_COOKIE['mobile'] == false) {
if (!mobile_detect()) {
setcookie('mobile', false, time()+9999999);
header('Location: http://m.domain.com');
} else {
setcookie('mobile', true, time()+9999999);
header('Location: http://www.domain.com');
}
}
Hi. You can use regexpr for this task.
(iPod|iPhone|Android|Symbian|WindowsPhone|WP7|WP8|Opera M|webOS|BlackBerry|Mobile|HTC_|Fennec)
Duty FREE, первоначально планировалось определять конкретные устройства и отдавать немного разный контент. Например, для андроида показывать ссылки на приложения и игры в Google Play.