Для чего это может пригодиться:
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 где ты?