Определить версию iOS с помощью PHP - PullRequest
2 голосов
/ 14 октября 2011

Для обнаружения Internet Explorer я использую его строку.

<?php if(strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== false) { };?>

Как мне определить iOS 5.

Ответы [ 4 ]

6 голосов
/ 26 октября 2012

У меня была похожая проблема, но мне нужно было получить номер версии в iPhone и iPad, используя $ _SERVER ['HTTP_USER_AGENT'].Я полагаю, это не совсем надежно, но у меня это сработало:

<?php 

$version = preg_replace("/(.*) OS ([0-9]*)_(.*)/","$2", $_SERVER['HTTP_USER_AGENT']);

// for example you use it this way

if ($version > 5){
// do something
}


?> 
5 голосов
/ 14 октября 2011

HTTP_USER_AGENT вернет следующее:

Mozilla/5.0 (iPhone; U; CPU iPhone OS 5_0 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A293 Safari/6531.22.7

Если вы пытаетесь обнаружить iOS 5, сделайте следующее:

 <?php if(strpos($_SERVER['HTTP_USER_AGENT'], 'iPhone OS 5_0') !== false) { };?>
0 голосов
/ 14 октября 2011

Просто и легко

<?php
   $browser = get_browser(null, true);
   echo $browser['platform'];
?> 

В документах написано

Примечание:

Для того, чтобы это работало, ваш параметр конфигурации browscap в php.ini должен указывать на правильное расположение файла browscap.ini на ваша система.

browscap.ini не поставляется с PHP, но вы можете найти самую последнюю версию » php_browscap.ini файл здесь.

Хотя browscap.ini содержит информацию о многих браузерах, он опирается на обновления пользователя для поддержания базы данных в актуальном состоянии. Формат файла довольно очевидно.

0 голосов
/ 14 октября 2011

Если это возможно, get_browser() будет способом сделать это.

Однако, поскольку строка User-Agent легко подделывается, и список браузеров / ОСэто постоянно движущаяся цель, это никогда не будет на 100% надежным.Чтобы это вообще сработало, вы должны поддерживать файл php_browscap.ini в актуальном состоянии (см. Примечание на соответствующей странице руководства).

...