Обнаружение мобильного браузера PHP? - PullRequest
13 голосов
/ 29 сентября 2010

Мне нужен способ обнаружения мобильных браузеров на стороне сервера. Мне нужен способ, который требует, чтобы я мало что делал для настройки и немного для обслуживания, но все же предоставлял мне точное обнаружение (по крайней мере) браузеров Android, Mobile Safari и Blackberry наряду с альтернативами, такими как Opera.

Я бы хотел, чтобы по крайней мере большинство рынка мобильной связи охватило , и я бы действительно предпочел практически весь рынок, если это не займет много.

Ответы [ 10 ]

16 голосов
/ 29 сентября 2010

WURLF - это лучший способ обнаружения мобильных браузеров, и доступен PHP API .

15 голосов
/ 12 апреля 2012

Я нашел, что это очень прост в использовании php-mobile-detect

7 голосов
/ 29 сентября 2010

(редактировать: на данный момент проект возможностей браузера закрыт, то есть этот ответ не доступен)

Все, что вам нужно, это get_browser () и недавний browscap.ini, который отображает строку user-agent в браузер / версию и ее возможности.

Вы можете получить обычно очень актуальную версию browscap.ini с http://browsers.garykeith.com/downloads.asp

3 голосов
/ 19 августа 2011

Некоторое время назад нашел эту библиотеку:

http://code.google.com/p/mobileesp/

Имеет версии на PHP, Java, JavaScript и C #.Я считаю его «легковесным» средством обнаружения смартфонов / планшетов без зависимостей и регулярно обновляется.У меня смешанные чувства по этому поводу, хотя некоторые аспекты качества кода немного шатки.

Если вам нужно что-то еще более легкое, плагин WP Super Cache для WordPress содержит несколько длинных строк регулярных выражений, которые вы, вероятно, можете провести.

Перехват браузера, основанный на строках агента пользователя, всегда будет нестабильным.Я посмотрел на WURFL и он сжал несколько МБ.Использовать это излишне.Лучшим подходом является определение наиболее популярных устройств на веб-сайте, разработка дизайна для этих устройств, а затем назовите это день.

3 голосов
/ 29 сентября 2010

Это просто вопрос чтения заголовков ( Как прочитать любой заголовок запроса в PHP ) и анализа / интерпретации этого для чтения «user-agent», вы можете найти существующий PHP-скрипт или, может быть, просто регулярное выражение, которое поможет выяснить, какие пользовательские агенты являются мобильными, а какие обычными ПК / ноутбуками.

Существует много разных заголовков, так как это указывает на операционную систему, поэтому столько же различных мобильных ОС, сколько существует, будет заголовков пользовательских агентов, поэтому в скрипте должен быть список всех допустимых.

2 голосов
/ 26 сентября 2012
2 голосов
/ 15 ноября 2010

В последнее время Zend Framework Zend_Http_UserAgent .

Он может определять мобильное устройство и его возможности, обнаруживая UserAgent через API Wurfl, TeraWurfl и DeviceAtlas.

1 голос
/ 20 декабря 2012

К сожалению, WURFL больше не является бесплатным для коммерческих проектов.

Но есть OpenDDR с его экспериментальной реализацией PHP .

1 голос
/ 13 октября 2010

Как насчет http://code.google.com/p/hdapi/?Обнаружение мобильных устройств на стороне сервера в PHP.

0 голосов
/ 20 февраля 2015

Я однажды использовал для временного хранения ip-адресов посетителей и значений csrf-сессии (предназначенных для подсчета текущих посетителей).

И я заметил, что у меня была побочная возможность видеть, использует ли посетитель мобильный телефон или ПК: csrf мобильного телефона меняется с каждой новой загрузкой страницы, ПК нет; и ip-адреса остаются в обоих случаях.

Конечно, вы обнаруживаете мобильный телефон только в том случае, если посетитель щелкнет дважды, и я не проверил, насколько это надежно (поскольку мне это действительно не нужно), но это только php / server-side.

...