Рубрики
Uncategorized

Краткое описание методов PHP для определения того, посещают ли посетители мобильные устройства (мобильный браузер) [4 метода]

Автор оригинала: David Wong.

В этой статье кратко излагается метод PHP для оценки того, посещают ли посетители мобильный браузер. Чтобы поделиться с вами для вашей справки, следующим образом:

При нормальной разработке работы нам обычно требуется разработать две разные системы, ПК и мобильную, чтобы использовать разные интерфейсы работы в соответствии с различными клиентами. Это требует, чтобы мы определили, является ли клиент ПК или мобильным.

В этом посте обсуждаются четыре способа использования PHP для определения того, является ли клиент мобильным (или мобильным браузером), чтобы определить, является ли он мобильным доступом:

1. Определите, существует ли HTTP ﹣ WAP ﹣ профиль. Если он существует, то это мобильный терминал (некоторые службы заблокируют информацию).

/**
*Is it mobile access
*@ desc judge whether it is mobile terminal to access
*@ method 1: judge whether there is http_ X_ WAP_ Profile, if any, it must be a mobile device.
* @return bool
* $Author: Zhihua_W
*/
function isMobile1()
{
   if (isset ($_SERVER['HTTP_X_WAP_PROFILE'])) {
     return true;
   } else {
     return false;
   }
}

2. Судите в соответствии с информацией http_via. Если информация via содержит WAP, это мобильное устройство (некоторые службы заблокируют информацию).

/**
 *Is it mobile access
 *@ desc judge whether it is mobile terminal to access
 *@ method 2: judge whether the http_via information contains WAP information. If yes, it must be a mobile device.
 * @return bool
 * $Author: Zhihua_W
 */
 function isMobile2 ()
 {
   if (isset ($_SERVER['HTTP_VIA'])) {
     return true;
   } else {
     return false;
   }
 }

3. Согласно логотипу клиента, отправленному мобильным телефоном, этот метод относительно глуп, и совместимость нуждается в улучшении

/**
*Is it mobile access
*@ desc judge whether it is mobile terminal to access
*@ method 3: judge whether there is an HTTP ﹣ user ﹣ agent message that is the client mark sent by the mobile phone. If there is one, it must be a mobile device.
* @return bool
* $Author: Zhihua_W
*/
function isMobile3 ()
{
   if (isset ($_SERVER['HTTP_USER_AGENT'])) {
    $clientkeywords = array ('nokia', 'sony','ericsson','mot',
      'samsung','htc','sgh','lg','sharp',
      'sie-','philips','panasonic','alcatel',
      'lenovo','iphone','ipod','blackberry',
      'meizu','android','netfront','symbian',
      'ucweb','windowsce','palm','operamini',
      'operamobi','openwave','nexusone','cldc',
      'midp','wap','mobile'
      );
    //From http_ USER_ Search keywords of mobile browser in agent
    if (preg_match("/(" . implode('|', $clientkeywords) . ")/i", strtolower($_SERVER['HTTP_USER_AGENT']))){
      return true;
    } else {
      return false;
    }
  } else {
    return false;
  }
}

4. Согласно протоколу, этот метод может быть неправильным или не может быть оценен

/**
*Is it mobile access
*@ desc judge whether it is mobile terminal to access
*@ method 4: judge HTTP accept information
* @return bool
* $Author: Zhihua_W
*/
function isMobile4()
{
  if (isset ($_SERVER['HTTP_ACCEPT'])) {
    //If it only supports WML and does not support HTML, it must be a mobile device
    //If WML and HTML are supported, but WML is a mobile device before HTML
    if ((strpos($_SERVER['HTTP_ACCEPT'], 'vnd.wap.wml') !== false) && (strpos($_SERVER['HTTP_ACCEPT'], 'text/html') === false || (strpos($_SERVER['HTTP_ACCEPT'], 'vnd.wap.wml') < strpos($_SERVER['HTTP_ACCEPT'], 'text/html')))) {
    return true;
    } else {
    return false;
    }
  } else {
    return false;
  }
}

Все вышеперечисленные четыре метода имеют некоторые недостатки и плохую совместимость, поэтому вы можете объединить четыре метода в один метод для суждения.

PS: Здесь мы рекомендуем 2 онлайн-инструмента для оценки браузера с аналогичными функциями для вашей справки:

Средство обнаружения информации в онлайн-браузере: http://tools.jb51.net/aideddesign/browser_info

Агент пользователя общего браузера (ПК, мобильный телефон): http://tools.jb51.net/table/useragent

Для получения дополнительной информации о PHP, пожалуйста, ознакомьтесь со следующими разделами: краткое описание навыков сетевого программирования PHP, краткое описание использования регулярных выражений PHP и краткое описание использования завитков PHP, коллекция навыков работы с массивами PHP, краткое описание использования строк PHP, учебник по структуре данных и алгоритмам PHP, краткое описание алгоритмов программирования PHP, краткое описание навыков математических операций PHP и краткое описание навыков работы с общей базой данных PHP

Я надеюсь, что эта статья будет полезна для программирования на PHP.