Получение версии ОС

Статус
Закрыто для дальнейших ответов.

v0rbis

selfcoded
Регистрация
02.05.2005
Сообщения
923
вот суть проблемы: получить название ОС и ее версию с помощью JS.

вариант со сканированием строки с User-Agent на предмет платформы не устраивает, ибо нужно знать что именно искать.. да и вообще не прогерский это выход.. короче, не исчем легких путей.

Неободимо сделать это изящно.
 

Creator

Administrator
Команда форума
Регистрация
03.03.2005
Сообщения
1 745
вариант со сканированием строки с User-Agent на предмет платформы не устраивает, ибо нужно знать, что именно искать
Лично я не знаю другого способа получать данные о пользователе, кроме как через переменную окружения User-Agent. Но это я:) Может, кто другой знает.
Тем более, достаточно просто проанализировать User-Agent на ОС пользователя.

да и вообще не прогерский это выход.. короче, не исчем легких путей.
Тут я с тобой не согласен, наоборот, приходится погонять серое вещество с целью получения результата:)
 

v0rbis

selfcoded
Регистрация
02.05.2005
Сообщения
923
все... сделал пока на Юзер-Агенте.
 

RUSH

Читер
Регистрация
26.01.2006
Сообщения
230
JS можно отлючить, а PHP - нет. Поэтому лучше всего юзать user_agent, обрезанный с помощью регулярки.
 

v0rbis

selfcoded
Регистрация
02.05.2005
Сообщения
923
вот он тот мой вариант:
Код:
$cl=trim($_SERVER['HTTP_USER_AGENT']);
$os='Unknown';

//OS check via User-Agent
$tmp=stristr($cl,"Windows");
if($tmp)
{
	if(stristr($cl,"NT")) $os=substr($tmp,0,14);
	else $os=substr($tmp,0,10);
}
if(stristr($cl,"Linux")) $os="Linux";
if(stristr($cl,"FreeBSD")) $os="FreeBSD";
if(stristr($cl,"OpenBSD")) $os="OpenBSD";
if(stristr($cl,"Unix")) $os="Unix";
if(stristr($cl,"Trinux")) $os="Trinux";
if(stristr($cl,"Knoppix")) $os="Knoppix";
if(stristr($cl,"QNX")) $os="QNX";
if(stristr($cl,"BeOS")) $os="BeOS";
if(stristr($cl,"OS/2")) $os="OS/2";
if(stristr($cl,"OS\\2")) $os="OS/2";
if(stristr($cl,"IRIX")) $os="IRIX";
if(stristr($cl,"SOLARIS")) $os="Solaris";
if(stristr($cl,"Symbian")) $os="Symbian";
if(stristr($cl,"mobile")) $os="Mobile phone";
 
Статус
Закрыто для дальнейших ответов.
Верх Низ