Определите Midp 2.0 против Midp 2.1 против Android - PullRequest
2 голосов
/ 16 августа 2011

Как отличить Midp 2.0 и 2.1 и Android от WAP-браузера, чтобы перенаправить их в другое место для загрузки приложения, соответствующего их мобильному телефону.

1 Ответ

2 голосов
/ 16 августа 2011

Довольно сложно правильно отследить все случаи, и любой может просто установить свой User-Agent на другое значение, но общий способ сделать это в php:

  1. Автоматически, с get_browser(), для которого требуется обновленная версия browscap.ini

    $browserInfo = get_browser();
    if($browserInfo->platform === "Android")
    {
        // deliver Android link
    } else if($browserInfo->platform === "JAVA") { // MIDP
        // deliver MIDP link
    }
    
  2. Вручную, запустив кучу строк регулярных выражений для $_SERVER['HTTP_USER_AGENT']. Очень общие совпадения могут быть выполнены на .*MIDP.* и .*Android.*, если вы хотите сделать это таким образом.

    if(preg_match("/.*Android.*/", $_SERVER['HTTP_USER_AGENT'])) // Android
    {
         // deliver Android link
    } else if(preg_match("/.*MIDP.*/", $_SERVER['HTTP_USER_AGENT'])) { // MIDP
         // deliver MIDP link
    }
    
...