Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Определить ось

4.0K
23 октября 2003 года
july
9 / / 06.10.2003
Подскажите, как на php определить операционную систему. Пожалуйста.
2.6K
23 октября 2003 года
Zipo
41 / / 09.08.2003
Цитата:
Originally posted by july
Подскажите, как на php определить операционную систему. Пожалуйста.


Довольно таки сложно.
getenv('HTTP_USER_AGENT'); (apache)- это здесь, или здесь:
$_SERVER['HTTP_USER_AGENT']; (iis)
но там долго мучаться с парсингом.
Бери какой нить снифер, коцай его и вырежи то место где он определяет операционку.

4.0K
24 октября 2003 года
july
9 / / 06.10.2003
Цитата:
Originally posted by Zipo

Довольно таки сложно.
getenv('HTTP_USER_AGENT'); (apache)- это здесь, или здесь:
$_SERVER['HTTP_USER_AGENT']; (iis)
но там долго мучаться с парсингом.
Бери какой нить снифер, коцай его и вырежи то место где он определяет операционку.



А я нашла вот что:

echo PHP_OS;
echo php_uname();

4.0K
24 октября 2003 года
july
9 / / 06.10.2003
Еще вопросик: как определить разрешение экрана на php? (ну или хотя бы на JaveScript)
250
24 октября 2003 года
Joker
1.4K / / 20.02.2000
Цитата:
Originally posted by july
Еще вопросик: как определить разрешение экрана на php? (ну или хотя бы на JaveScript)


ya.ru найдет все :)(это про расширения только на пхп его определить нельзя)
А то что касается:
echo PHP_OS;
echo php_uname();

php_uname -- Returns information about the operating system PHP was built on

я думую все понятно без коментариев :)) Тебе нужно было узнать операционную систему клиента,или операционную систему сервера ?

4.0K
24 октября 2003 года
july
9 / / 06.10.2003
Цитата:
Originally posted by Joker

ya.ru найдет все :)(это про расширения только на пхп его определить нельзя)
А то что касается:
echo PHP_OS;
echo php_uname();

php_uname -- Returns information about the operating system PHP was built on

я думую все понятно без коментариев :)) Тебе нужно было узнать операционную систему клиента,или операционную систему сервера ?


желательно и то, и другое.

300
24 октября 2003 года
ReDrum
689 / / 20.04.2000
Цитата:
Originally posted by july

желательно и то, и другое.



и можно без хлеба ;)=

Если сервера, проще посмотреть условия хостинга.
или поставить перл и запустьть вот это ;)=

Код:
#!/usr/bin/perl -w
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);
    }
?>
4.0K
24 октября 2003 года
july
9 / / 06.10.2003
Так все просто! И че я сама не догадалась.
ОГРОМНОЕ СПАСИБО.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог