Определить ось
Подскажите, как на php определить операционную систему. Пожалуйста.
Довольно таки сложно.
getenv('HTTP_USER_AGENT'); (apache)- это здесь, или здесь:
$_SERVER['HTTP_USER_AGENT']; (iis)
но там долго мучаться с парсингом.
Бери какой нить снифер, коцай его и вырежи то место где он определяет операционку.
Довольно таки сложно.
getenv('HTTP_USER_AGENT'); (apache)- это здесь, или здесь:
$_SERVER['HTTP_USER_AGENT']; (iis)
но там долго мучаться с парсингом.
Бери какой нить снифер, коцай его и вырежи то место где он определяет операционку.
А я нашла вот что:
echo PHP_OS;
echo php_uname();
Еще вопросик: как определить разрешение экрана на php? (ну или хотя бы на JaveScript)
ya.ru найдет все :)(это про расширения только на пхп его определить нельзя)
А то что касается:
echo PHP_OS;
echo php_uname();
php_uname -- Returns information about the operating system PHP was built on
я думую все понятно без коментариев :)) Тебе нужно было узнать операционную систему клиента,или операционную систему сервера ?
ya.ru найдет все :)(это про расширения только на пхп его определить нельзя)
А то что касается:
echo PHP_OS;
echo php_uname();
php_uname -- Returns information about the operating system PHP was built on
я думую все понятно без коментариев :)) Тебе нужно было узнать операционную систему клиента,или операционную систему сервера ?
желательно и то, и другое.
желательно и то, и другое.
и можно без хлеба ;)=
Если сервера, проще посмотреть условия хостинга.
или поставить перл и запустьть вот это ;)=
use strict;
&main();
sub main {
use CGI;
my $q = CGI->new();
print $q->header(-type=>'text/html');
while (my ($key, $val) = each %ENV) {
print $q->p($key, ' : ', $val);
}
Для определения оси клиента можно посмотреть спайлоговский код или Joker когда то кидал что то вроде
// функция определяет версию браузера и ОС
function browser_and_os(){
global $HTTP_USER_AGENT;
// Определяем тип и версию браузера
if (ereg( "Opera ([0-9].[0-9]{1,2})", $HTTP_USER_AGENT, $regs)) {
$ver = $regs[1];
$agent="Opera";
} elseif (ereg( "MSIE ([0-9].[0-9]{1,2})",$HTTP_USER_AGENT,$regs)) {
$ver=$regs[1];
$agent="MSIE";
} elseif (strstr($HTTP_USER_AGENT, "Mozilla") &&
ereg( "rv:([0-9].[0-9]{1,2})",$HTTP_USER_AGENT,$regs)) {
$ver=$regs[1];
$agent="Mozilla";
} elseif (ereg( "Opera/([0-9].[0-9]{1,2})",$HTTP_USER_AGENT,$regs)) {
$ver=$regs[1];
$agent="Opera";
} elseif (ereg("Konqueror/([0-9.+])",$HTTP_USER_AGENT,$regs)){
$ver=$regs[1];
$agent="Konqueror";
} elseif (ereg("Mozilla/([0-9].[0-9]{1,2})",$HTTP_USER_AGENT,$regs)){
$ver=$regs[1];
$agent="Netscape";
} elseif (ereg("Googlebot/([0-9].[0-9]{1,2})",$HTTP_USER_AGENT,$regs)){
$ver=$regs[1];
$agent="Google Bot";
} elseif (ereg("Yandex/([0-9].[0-9]{1,2})",$HTTP_USER_AGENT,$regs)){
$ver=$regs[1];
$agent="Yandex Bot";
} elseif (ereg("Wget/([0-9].[0-9]{1,2})",$HTTP_USER_AGENT,$regs)){
$ver=$regs[1];
$agent="Wget";
} elseif (ereg("WebZIP/([0-9].[0-9]{1,2})",$HTTP_USER_AGENT,$regs)){
$ver=$regs[1];
$agent="WebZIP";
} elseif (ereg("StackRambler/([0-9].[0-9]{1,2})",$HTTP_USER_AGENT,$regs)){
$ver=$regs[1];
$agent="Rambler Bot";
} elseif (ereg("Teleport Pro/([0-9].[0-9]{1,2})",$HTTP_USER_AGENT,$regs)){
$ver=$regs[1];
$agent="Teleport Pro";
} elseif (ereg("Links \(([0-9].[0-9]{1,2})",$HTTP_USER_AGENT,$regs)){
$ver=$regs[1];
$agent="Links";
} elseif (ereg("Lynx\/([0-9].[0-9]{1,2})",$HTTP_USER_AGENT,$regs)){
$ver=$regs[1];
$agent="Lynx";
} elseif (strstr($HTTP_USER_AGENT, "FlashGet")){
$ver=0;
$agent="FlashGet";
} elseif (ereg("^Scooter", $HTTP_USER_AGENT)){
$ver=0;
$agent="Altavista Bot";
}
else {
$ver=0;
$agent="Other";
}
// Определяем операционную систему
if (strstr($HTTP_USER_AGENT,"Win95") || strstr($HTTP_USER_AGENT,"Windows 95")) {
$os="Win95";
} elseif (strstr($HTTP_USER_AGENT,"Win98") || strstr($HTTP_USER_AGENT,"Windows 98")) {
$os="Win98";
} elseif (strstr($HTTP_USER_AGENT,"WinNT") || strstr($HTTP_USER_AGENT,"Windows NT")) {
$os="WinNT";
} elseif (strstr($HTTP_USER_AGENT,"WinXP") || strstr($HTTP_USER_AGENT,"Windows XP")) {
$os="WinXP";
} elseif (strstr($HTTP_USER_AGENT,"WinME") || strstr($HTTP_USER_AGENT,"Windows ME")) {
$os="WinME";
} elseif (strstr($HTTP_USER_AGENT,"Win2000") || strstr($HTTP_USER_AGENT,"Windows 2000")) {
$os="Win2000";
} elseif (strstr($HTTP_USER_AGENT,"Win16") || strstr($HTTP_USER_AGENT,"Win32") ||
strstr($HTTP_USER_AGENT,"Windows")) {
$os="Win";
} elseif (strstr($HTTP_USER_AGENT,"Mac")) {
$os="Mac";
} elseif (strstr($HTTP_USER_AGENT,"Linux")) {
$os="Linux";
} elseif (strstr($HTTP_USER_AGENT,"FreeBSD")) {
$os="FreeBSD";
} elseif (strstr($HTTP_USER_AGENT,"Unix") || strstr($HTTP_USER_AGENT, "X11")) {
$os="Unix";
} elseif (strstr($HTTP_USER_AGENT,"OS/2")) {
$os="OS/2";
} else {
$os="Other";
}
return array("agent" => $agent, "ver" => $ver, "os" => $os);
}
?>
ОГРОМНОЕ СПАСИБО.