В этой статье кратко излагается метод 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.