- Определяем устройство с помощью PHP
- Библиотека для определения типа и модели устройства на PHP
- Общие возможности
- Возможности библиотеки
- Примеры
- 5 последних уроков рубрики «PHP»
- Фильтрация данных с помощью zend-filter
- Контекстное экранирование с помощью zend-escaper
- Подключение Zend модулей к Expressive
- Совет: отправка информации в Google Analytics через API
- Подборка PHP песочниц
- Определение мобильного устройства в php
- Определение мобильного устройства. Введение
- Определение мобильного устройства. Код
- Определение мобильного устройства в php: 7 комментариев
- Определение мобильных устройств при помощи Mobile Detect php
- Установка PHP библиотеки Mobile Detect
- Как вывести разные ссылки для iPhone и Android или определение Android, iPhone устройства на PHP
Определяем устройство с помощью PHP
Однажды этот прекрасный день пришёл. День, когда я физически осознал, что мне нужно определять, каким устройством пользуется посетитель сайта, чтобы соответственно отрисовывать для него страницу.
Прошлая методика с помощью медиазапросов по ширине экрана в моих глазах себя изжила — в таком случае на страницу всё равно загружается все элементы, только часть из скрывается или модернизируется. С одной стороны — это правильный и надёжный подход. С другой стороны, когда у нас присутствуют тяжёлые медиафайлы (например, видеофон) или немного другое расположение элементов, то будет намного проще и лучше грузить только нужные элементы в зависимости от того, каким устройством пользуется посетитель сайта.
Итак, я пошёл в интернет за готовым ответом, поскольку издавна исповедую практику «Сначала попробовать чужие костыли готовые решения, а если не нашёл — писать самостоятельно». Собственно, что я нашёл в интернете — это использовать $_SERVER[«HTTP_USER_AGENT»] или вообще пользоваться JavaScript’ом.
Затем, на одном форуме нашёл таки описание интересного и простого php-скрипта, которым уже достаточно давно пользуюсь и хочу поделиться с вами. Называется он Mobile-Detect (ссылка на GitHub). Это очень легковесное и удобное решение, которое использует ту самую строчку HTTP_USER_AGENT в комплекте с определёнными заголовками.
Проект постоянно поддерживается и обновляется, ибо весьма полезная вещь.
Подключается скрипт очень просто — с помощью requred_once мы указываем путь к файлу, а затем инициализируем объект:
Настройка скрипта завершена. Теперь через использование $detect мы можем определять устройства. Нам доступны следующие переменные для определения типа устройств:
- isMobile — переменная, которая определяет любое мобильное устройство — как смартфон, так и планшет;
- isTablet — переменная, которая предназначена для определения только планшетных компьютеров.
Также существуют две переменные для определения операционной системы мобильного устройства:
- isiOS — определяет устройства под управлением iOs (iPhone и iPad);
- isAndroidOS — устройства на Android;
- isWindowsMobileOS и isWindowsPhoneOS — тут можно не просто узнать, что эта мобильная система производства Microsoft, но даже указать его версии. WindowsMobile уже не столь актуальна, поскольку мелкомягкие перешли на единую платформу, но если вдруг к нам зайдут пользователи Pocket PC и Smartphone, то мы модем предложить для них уникальный сервис;
- isBlackBerryOS — можно определить также смартфоны этого производителя. Для России аппараты BlackBerry не слишком актуальны, но возможно всё (вдруг вы или ваш заказчик — фанат или пользователь этого девайса, и нужно сделать что-то особенное для других пользователей);
- isPalmOS и isSymbianOS — для устройств на таких операционных системах есть переменные для определения. Для меня это очень редкие устройства — настолько, что в жизни таких не видел (но это не точно), только на сайты заходят редкие пользователи этих устройств.
Кроме того, скрипт может определять производителя устройства. Укажу всего несколько переменных для определения вендора устройства, которые нам доступны:
- isiPhone и isiPad — можно чётко определить для каждого из устройств Apple, что показывать его пользователю;
- isSamsung — для устройств производства Samsung, один из самых популярных производителей;
- isLG — телефоны производства LG также весьма популярны и для них можно сделать что-то особое;
- isVertu — посетитель вашего сайта обладатель телефона Vertu, нужно больше золота (и умножаем все цены в магазине на 10).
В реальности этих переменных намного больше — на демо-странице скрипта можно увидеть список поддерживаемых переменных.
Для тех, кто хочет убойной точности и избирательности, можно указывать нужные устройства через значения UserAgent, но по мне такая избирательность уж слишком чрезмерная (хотя бывает всякое).
Разработчики не перестают совершенствовать свой продукт и вполне вероятно, что скоро нам будет доступна возможность определения версий браузеров и устройств (в первую очередь для продукции Apple) — функции уже есть в последнем релизе, но пока они находятся на бета-тестировании.
Теперь давайте разберём на примере принцип работы скрипта. Допустим, мы должны выводить для посетителя сайта разные сообщения в зависимости от операционной системы его устройства. Это будет выглядеть так:
Этот пример немного бесполезный, но очень простой. Немного подумав, этот скрипт можно исползовать для более изящных решений, например, в зависимости от операционной системы подключать разные стили и изображения, чтобы дизайн сайта адаптировался под устройство. Либо, если на вашей странице есть реклама мобильного приложения, выводил предложения о переходе на AppStore или Google Play соответственно. Идей для применения может быть много.
Предлагаю вашему вниманию ещё один пример, который используется на моём сайте. Суть кода следующая — мы выводим разные варианты шапки сайта в зависимости от типа устройства. Код (с сокращениями) следующий:
И напоследок самое сладкое — эта библиотека была портирована на JavaScript, Varnish Cache и LUA.
На основе этого скрипта написаны плагины и модули для WordPress, Drupal, Joomla, Magento, PrestaShop (там он вообще поставляется в стандартном пакете с версии 1.5), Laravel, Yii Framework и множество других фреймворков и языков и платформ.
Библиотека очень полезная и весьма доставляющая.
Источник
Библиотека для определения типа и модели устройства на PHP
Mobile Detect это легковесный PHP класс для определения типа мобильного устройства, (включая и планшеты). Для определения устройства происходит анализ опции User-Agent и HTTP заголовков.
Общие возможности
isMobile() — определяет является ли устройство мобильным
isTablet() — определяет является ли устройство планшетом
Возможности библиотеки
Для проверки мы можем заюзать следующие методы:
Определение телефона
Определение планшета
- isBlackBerryTablet()
- isiPad()
- isKindle()
- isSamsungTablet()
- isHTCtablet()
- isMotorolaTablet()
- isAsusTablet()
- isNookTablet()
- isAcerTablet()
- isYarvikTablet()
- isGenericTablet()
Определение операционной системы
- isAndroidOS()
- isBlackBerryOS()
- isPalmOS()
- isSymbianOS()
- isWindowsMobileOS()
- isiOS()
- isFlashLiteOS()
- isJavaOS()
- isNokiaOS()
- iswebOS()
- isbadaOS()
- isBREWOS()
Определение мобильного браузера
Примеры
Данный урок подготовлен для вас командой сайта ruseller.com
Источник урока: http://mobiledetect.net/
Перевел: Станислав Протасевич
Урок создан: 15 Января 2014
Просмотров: 55002
Правила перепечатки
5 последних уроков рубрики «PHP»
Фильтрация данных с помощью zend-filter
Когда речь идёт о безопасности веб-сайта, то фраза «фильтруйте всё, экранируйте всё» всегда будет актуальна. Сегодня поговорим о фильтрации данных.
Контекстное экранирование с помощью zend-escaper
Обеспечение безопасности веб-сайта — это не только защита от SQL инъекций, но и протекция от межсайтового скриптинга (XSS), межсайтовой подделки запросов (CSRF) и от других видов атак. В частности, вам нужно очень осторожно подходить к формированию HTML, CSS и JavaScript кода.
Подключение Zend модулей к Expressive
Expressive 2 поддерживает возможность подключения других ZF компонент по специальной схеме. Не всем нравится данное решение. В этой статье мы расскажем как улучшили процесс подключение нескольких модулей.
Совет: отправка информации в Google Analytics через API
Предположим, что вам необходимо отправить какую-то информацию в Google Analytics из серверного скрипта. Как это сделать. Ответ в этой заметке.
Подборка PHP песочниц
Подборка из нескольких видов PHP песочниц. На некоторых вы в режиме online сможете потестить свой код, но есть так же решения, которые можно внедрить на свой сайт.
Источник
Определение мобильного устройства в php
Определение мобильного устройства. Введение
Сегодня перебирал свои старые исходники и нашел одну замечательную функцию, которая определяет с компьютера зашел пользователь или с мобильного устройства. Я уже не помню, сам ее писал или нашел где-то в интернете, а может нашел кусок и отредактировал. Не важно откуда она взялась, главное. что функция работает. Определение устройство, с которого просматривается сайт, реализовано очень просто: получаем информацию о HTTP_USER_AGENT и сравниваем со всеми известными на данный момент агентами, используемыми мобильными устройствами.
Определение мобильного устройства. Код
И пример использования:
На этом все. Если у кого-то эта функция не будет срабатывать — присылайте в комментарии название устройства, а лучше, используемый им, юзер агент. Тогда функция будет дополняться, и вместе мы ее сделаем более универсальной.
Определение мобильного устройства в php: 7 комментариев
Здравствуйте!
Планшеты windows 10 как-то можно определить?
Спасибо!
А зачем? Ведь на планшетах под управлением Windows 10, стоит десктопная версия!
Здравствуйте!
А можно эту инфу занести как-то в форму? в input ?
Например как для получения заголовка стр title в script document.querySelector(«input[name=’page_title’]»).value = document.title
Здравствуйте. Есть не большой текст.
Можно ли сделать, чтоб этот текст был в спойлере или его вообще не было, если человек зашёл с мобильного устройства, а если с компа, то как обычно. (Планшеты не читывать, то есть планшет = комп)
Заранее благодарю.
Доброго времени,
Можно добавить условие при выводе страницы — если устройство мобильное, то выводить один кусок верстки, а если десктоп — показывать совсем другое
Спасибо Вам огромное!
Всё просто и работает!
Источник
Определение мобильных устройств при помощи Mobile Detect php
Приветствую вас. Продолжаем исследовать возможности языка PHP и сейчас познакомимся с небольшой библиотекой, с помощью которой можно определять мобильные устройства пользователей на сайте. При чем определить можно даже марку телефона. Для чего это нужно? С большой уверенностью могу сказать, что подобные технологии используются в рекламных системах, в частности таргетированной рекламе. Это позволяет делать более персонализированные предложения. К примеру если вы продаете аксессуары для айфона, то имеет смысл показывать рекламу только тем, кто пользуется этими гаджетами, а для остальных скрыть или сделать переадресацию. Такой подход более профессиональный. На своем сайте вы тоже можете сделать нечто подобное. К примеру тем, кто заходит с мобильных — показать ссылку на телеграмм-канал, который будет запускаться автоматом (проверьте на моем), а тем, кто попал на сайт со стационарного компьютера — показать что-то другое. Не будем отрицать очевидные плюсы mobile detect library и перейдем к ее установке.
Установка PHP библиотеки Mobile Detect
Для подключения достаточно одного файла. Сделать это можно следующим образом.
Вот ссылка на реппозиторий гитхаба. Там есть описание по установке на различные CMS, в том числе и WordPress, а так же популярные фреймворки. А теперь самое время перейти к примерам использования.
$detect = new Mobile_Detect; if($detect->isAndroidOS())< echo "Андроид-устройство версии: ".$detect->version(‘Android’); > if($detect->isiOS())< echo "IOS-устройство версии: ".$detect->version(‘iOS’); > if ($detect->isMobile()) < echo '
Вы зашли с мобильного’; > if($detect->isTablet())< echo '
Вы зашли с планшета’; > if ($detect->isLG()) < echo '
Ваш смартфон LG’; > if ($detect->isSamsung()) < echo '
Ваш смартфон Samsung’; >
Кроме определения мобильных устройств в этой библиотеке предусмотрена возможность определять браузер и его версию. Правда пока в бета режиме. Но при тестировании все работает отлично.
if ($detect->is(‘Chrome’)) < echo "
Версия Chrome: «.$detect->version(‘Chrome’); > if ($detect->is(‘Opera’)) < echo "
Версия Opera: «.$detect->version(‘Opera’); >
Теперь вы знаете как определить мобильные телефоны и планшеты при помощи PHP. Поделитесь в комментариях если знаете еще подобные и более функциональные библиотеки.
Источник
Как вывести разные ссылки для iPhone и Android или определение Android, iPhone устройства на PHP
Доброго времени суток
В данной статье, я попробую показать вам способ, как с помощью PHP определить, с какого мобильного устройства зашел посетитель, точнее его операционную систему. Сегодня имеется две самые популярные системы, это Android, iPhone(iOS). Данная статья имеет не большой, но очень полезный материал. Думаю, он поможет многим, кто столкнулся с проблемой определения ОС мобильного устройства.
Совсем недавно, мне самому пригодился данный метод. Моя задача была следующей: вывести ссылки на закачку приложения в зависимости от того — iPhone или Android мобильное устройство, на котором просматривается страница сайта. То есть, человека должно было перенаправлять в Google Play если он зашел на сайт с Android устройства или в App Store если человек пользуется iPhone. Я выбрал метод, где идет определение через PHP. Мне просто надо, чтобы загружалась страница с готовой ссылкой, в зависимости от устройства.
Все очень просто. Если вам надо сделать что-то подобное, то просто в месте где надо вывести ссылку, нужно добавить немного PHP кода. На вашем сайте, вернее на хостинге, должен быть включен PHP. В 99% это так, но вдруг у вас хостинг под одностраничный сайт и прям очень дешевый, то с PHP могут быть проблемы. Если все ок, то копируйте код ниже и добавляйте на нужную страницу.
Перед изменением своих файлов, обязательно сохраните их копию, чтобы в дальнейшем, в случаи ошибки, вернуть все как было.
Код добавляется в среду HTML , если в PHP, то уберите теги PHP вначале и в конце .
По коду, в принципе, все просто. Давайте рассмотрим поподробнее.
- preg_match — в первой строке используем эту функцию для выборки и определения браузер какой операционной системы(ОС) просматривает страницу сайта.
- $os — задаем переменную, которая будет содержать название ОС.
- case ‘iPhone’: — если наш сайт просматривает устройство с браузером от iPhone, то задаем переменную с нужной ссылкой.
- $link_app — переменная, что содержит нужную ссылку или текст или что угодно, что вам надо выводить тому или иному устройству.
- Далее все повторяется для каждой из ОС.
После того как добавили PHP код, нужно указать саму ссылку или что угодно, с нашей переменной $link_app. В нашем примере будет ссылка. В качестве самой ссылки указываем переменную.
Как видите все очень просто. При загрузке страницы, будет выведена ссылка, а вместо переменной выведется нужная ссылка.
На этом все, спасибо за внимание. 🙂
Если Вам был полезным мой труд, можете финансово поддержать сайт или отключить блокировщик рекламы, что займет 2 минуты 🙂
Источник