Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.93/15: Рейтинг темы: голосов - 15, средняя оценка - 4.93
1 / 1 / 0
Регистрация: 25.05.2013
Сообщений: 73

Определение версии Windows

30.10.2013, 21:33. Показов 2925. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть переменная. Которая содержит нечто вроде
Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; MRSPUTNIK 2, 4, 1, 162; GTB7.5; .NET CLR 1.1.4322; .NET4.0C; .NET4.0E; .NET CLR 2.0.50727; WWTClient2)
Есть негодный код, с помощью которого можно уловить смысл требуемого
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?
$substr = array(
    "Windows NT 6.2" => "Windows 8",
    "Windows NT 6.1" => "Windows 7",
);
if (!stristr($row['agent'], $substr))
{
echo "WINDOWS";
}
else
{
echo "nein";
}
?>
И простой вопрос. Как выводить версию Windows имея это?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.10.2013, 21:33
Ответы с готовыми решениями:

Определение версии ОС и браузера
Здравствуйте! Подскажите, пожалуйста, необходимо определить версию ОС и браузера с которого пользователь входит в личный кабинет. Как мне...

Определение версии браузера через php
Всем доброго времени суток! Нужна помощь. Я хочу сделать проверку версии браузера, но не могу сделать этого, нужна Ваша помощь... ...

Определение версии Windows
Всем привет! Подскажите, пожалуйста, как программно определить версию windows. Дело в том, что переписываю программу с vb6 на vb2005 и...

5
 Аватар для JxF-TEAM
122 / 122 / 27
Регистрация: 22.10.2013
Сообщений: 425
30.10.2013, 22:05
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
function getOS ( $userAgent ) {
 
    $substr = array(
 
        "Windows NT 6.2" => "Windows 8",
 
        "Windows NT 6.1" => "Windows 7",
        
        "Windows NT 5.1" => "Windows XP"
 
    );
 
    foreach ( $substr as $index => $val )
        if ( !( strpos ( $userAgent , $index ) === false ) )
            return $val;
            
    return "not recognized";
            
}
 
 
 
 
$userAgent = $_SERVER [ "HTTP_USER_AGENT" ];
 
echo "Ваша система: " . getOS ( $userAgent );
1
1 / 1 / 0
Регистрация: 25.05.2013
Сообщений: 73
30.10.2013, 22:13  [ТС]
JxF-TEAM, что есть переменные index и val?
0
 Аватар для JxF-TEAM
122 / 122 / 27
Регистрация: 22.10.2013
Сообщений: 425
30.10.2013, 22:18
foreach - перебирает массив в перменную $index заносит ключи а в $val значение элемента...
http://php.net/manual/ru/contr... oreach.php
1
1 / 1 / 0
Регистрация: 25.05.2013
Сообщений: 73
02.11.2013, 11:41  [ТС]
И еще один похожий вопрос, как я понимаю, по аналогии можно сделать такую тему с браузерами, но как недопустить, чтобы из строки
Mozilla/5.0 (Windows NT 6.2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.95 YaBrowser/13.10.1500.8765 Safari/537.36
он не видел здесь и хром и яндекс.браузер одновременно и ошибочно выдавал результат?
0
 Аватар для JxF-TEAM
122 / 122 / 27
Регистрация: 22.10.2013
Сообщений: 425
02.11.2013, 13:43
я тока такое нашел... с мобильными там сложнее как вариант на yandex/dector( както так )
Кликните здесь для просмотра всего текста
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
function user_browser($agent) {
    preg_match("/(MSIE|Opera|Firefox|Chrome|Version|Opera Mini|Netscape|Konqueror|SeaMonkey|Camino|Minefield|Iceweasel|K-Meleon|Maxthon)(?:\/| )([0-9.]+)/", $agent, $browser_info); // регулярное выражение, которое позволяет отпределить 90% браузеров
        list(,$browser,$version) = $browser_info; // получаем данные из массива в переменную
        if (preg_match("/Opera ([0-9.]+)/i", $agent, $opera)) return 'Opera '.$opera[1]; // определение _очень_старых_ версий Оперы (до 8.50), при желании можно убрать
        if ($browser == 'MSIE') { // если браузер определён как IE
                preg_match("/(Maxthon|Avant Browser|MyIE2)/i", $agent, $ie); // проверяем, не разработка ли это на основе IE
                if ($ie) return $ie[1].' based on IE '.$version; // если да, то возвращаем сообщение об этом
                return 'IE '.$version; // иначе просто возвращаем IE и номер версии
        }
        if ($browser == 'Firefox') { // если браузер определён как Firefox
                preg_match("/(Flock|Navigator|Epiphany)\/([0-9.]+)/", $agent, $ff); // проверяем, не разработка ли это на основе Firefox
                if ($ff) return $ff[1].' '.$ff[2]; // если да, то выводим номер и версию
        }
        if ($browser == 'Opera' && $version == '9.80') return 'Opera '.substr($agent,-5); // если браузер определён как Opera 9.80, берём версию Оперы из конца строки
        if ($browser == 'Version') return 'Safari '.$version; // определяем Сафари
        if (!$browser && strpos($agent, 'Gecko')) return 'Browser based on Gecko'; // для неопознанных браузеров проверяем, если они на движке Gecko, и возращаем сообщение об этом
        return $browser.' '.$version; // для всех остальных возвращаем браузер и версию
}
 
 
echo user_browser ($_SERVER['HTTP_USER_AGENT']);
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
02.11.2013, 13:43
Помогаю со студенческими работами здесь

Определение полной версии Windows
Здравствуйте, помогите пожалуйста разобраться, хочу узнать полную версию Windows, например, Windows 7 Домашняя базовая. Есть такой...

Определение версии и пользователей ОС Windows внешнего носителя информации
Доброго времени суток! Стоит следующая задача: имеется компьютер, который служит для проведения исследований. Также имеются жесткие...

Определение версии Java и версии браузера
Поступила интересная задача. Есть необходимость получать, оперативно, от клиента информацию о его версии Java и версии браузера, на...

Есть ли какие - то ограничения по минимальной версии Windows / Linux для последней версии Qt?
Привет! Вот тут какие - то непонятки. Скачал Qt последний на Win7 - ворк пёрфеткли, на 8.1 - та же петрушка. А вот Windows XP SP3 под рукой...

Определение версии ОС
Всем доброго времени суток. Кто может подсказать как определить тип операционной системы установленной на ПК. Просто пишу...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru