За последние 24 часа нас посетили 18465 программистов и 1711 роботов. Сейчас ищет 871 программист ...

Редирект по версии ОС

Тема в разделе "PHP для новичков", создана пользователем install, 30 окт 2012.

  1. install

    install Активный пользователь

    С нами с:
    1 июн 2009
    Сообщения:
    23
    Симпатии:
    0
    Привет, помогите доработать скрипт, нужно что бы если заход с любой версией windows происходил редирект на sitewin.com, если с любой другой ос linux или неопределенной происходил редирект на site.com


    Код (Text):
    1. <?php
    2. function getOS($userAgent) {
    3.   // Список операционных систем
    4.     $oses = array (
    5.         'iPhone' => '(iPhone)',
    6.         'Windows 3.11' => 'Win16',
    7.         'Windows 95' => '(Windows 95)|(Win95)|(Windows_95)',
    8.         'Windows 98' => '(Windows 98)|(Win98)',
    9.         'Windows 2000' => '(Windows NT 5.0)|(Windows 2000)',
    10.         'Windows XP' => '(Windows NT 5.1)|(Windows XP)',
    11.         'Windows 2003' => '(Windows NT 5.2)',
    12.         'Windows Vista' => '(Windows NT 6.0)|(Windows Vista)',
    13.         'Windows 7' => '(Windows NT 6.1)|(Windows 7)',
    14.         'Windows NT 4.0' => '(Windows NT 4.0)|(WinNT4.0)|(WinNT)|(Windows NT)',
    15.         'Windows ME' => 'Windows ME',
    16.         'Open BSD'=>'OpenBSD',
    17.         'Sun OS'=>'SunOS',
    18.         'Linux'=>'(Linux)|(X11)',
    19.         'Safari' => '(Safari)',
    20.         'Macintosh'=>'(Mac_PowerPC)|(Macintosh)',
    21.         'QNX'=>'QNX',
    22.         'BeOS'=>'BeOS',
    23.         'OS/2'=>'OS/2',
    24.     );
    25.  
    26.     foreach($oses as $os=>$pattern){
    27.         if(preg_match('!'.$pattern.'!i' , $userAgent)) {
    28.             return $os;
    29.         }
    30.     }
    31.     return 'Unknown'; // Не удалось определить тип ОС
    32. }
    33. echo getOS($_SERVER['HTTP_USER_AGENT']);
    34. ?>
     
  2. runcore

    runcore Старожил

    С нами с:
    12 окт 2012
    Сообщения:
    3.625
    Симпатии:
    158
    Код (PHP):
    1. $url = preg_match("/windows/i", $_SERVER['HTTP_USER_AGENT']) ? "sitewin.com" : "site.com";
    2. header('Location: http://'.$url );
    3. exit; 
     
  3. install

    install Активный пользователь

    С нами с:
    1 июн 2009
    Сообщения:
    23
    Симпатии:
    0
    Спасибо большое все работает. А если немного усложнить, например если с windows пришел так и перенаправляет на sitewin.com, а если с другой вместо site.com выполняется другой файл т.е через include или еще как то подключить его?