Для чего это может пригодиться:
1) для показа мобильной версии сайта
2) для определения дальнейшего перенаправления пользователя. Например, рекламируем какой-то продукт. Ссылка для рекламы одна (зашита в баннер). Но пользователей мака направляем на одну страницу, а остальных на другую (2 разных лендинга).
<?php
if (stripos($_SERVER['HTTP_USER_AGENT'],'mac os')!==false ||
stripos($_SERVER['HTTP_USER_AGENT'],'macintosh')!==false) {
header('location: http://link_for_mac');
exit();
}
else {
header('location: http://link_for_not_mac');
exit();
}
?>
Суть проблемы ясна:
- есть User-Agent, который браузер посылает автоматически
- на сервере его можно прочитать через $_SERVER['HTTP_USER_AGENT']
- т.к. это просто строка примерно 100 символов, то нужно с помощью регулярных выражений (или функций для работы со строками) определить устройство.
Есть удобный класс Mobile_Detect
<?php
// подключаем всего 1 файл
require_once 'Mobile_Detect.php';
$detect = new Mobile_Detect;
// и телефоны и планшеты
if ( $detect->isMobile() ) {
}
// только планшеты
if( $detect->isTablet() ){
}
// телефоны без планшетов
if( $detect->isMobile() && !$detect->isTablet() ){
}
// определение IOS
if( $detect->isiOS() ){
}
// определение Android
if( $detect->isAndroidOS() ){
}
?>
8.11.2015

за такую штуку очень быстро получаешь фильтр
2015 год? composer где ты?