Home  >  Article  >  Backend Development  >  How to determine the source of mobile devices with PHP_PHP tutorial

How to determine the source of mobile devices with PHP_PHP tutorial

WBOY
WBOYOriginal
2016-07-13 10:23:56959browse

How PHP determines the source of mobile devices

In today’s era when mobile devices are so popular, we may often need to use page matching for mobile devices when doing web front-end development . Of course, we can use responsive page design to handle the front-end matching problem, but the responsive page just does not display certain codes, but it will still be loaded into the user's mobile device. In order to better take care of the user's mobile browsing experience and reduce unnecessary loading. We can then use PHP to reduce the user's code loading and improve the user's experience when browsing the page. Since there are now many types of mobile devices and various browsers, simply judging by User-Agent cannot completely solve the problem.

function isMobile()

{

// If there is HTTP_X_WAP_PROFILE, it must be a mobile device

if (isset ($_SERVER['HTTP_X_WAP_PROFILE']))

{

return true;

}

// If the via information contains wap, it must be a mobile device, and some service providers will block this information

if (isset ($_SERVER['HTTP_VIA']))

{

// If not found, it is false, otherwise it is true

return stristr($_SERVER['HTTP_VIA'], "wap") ? true : false;

}

// Determine the client flag sent by the mobile phone, compatibility needs to be improved

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'

);

// Find keywords for mobile browsers from HTTP_USER_AGENT

if (preg_match("/(" . implode('|', $clientkeywords) . ")/i", strtolower($_SERVER['HTTP_USER_AGENT'])))

{

return true;

} }

}

// Agreement method, because it may be inaccurate, leave it to the final judgment

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 comes before html, it is a mobile device

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;

} }

}

return false;

}

?>

Currently this method can be used for most mobile device judgments. When using it, you can also add some UA judgment parameters as needed.

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/834951.htmlTechArticlePHP’s method of determining the source of mobile devices In an era when mobile devices are so popular, maybe when we are doing web front-end development Page matching for mobile devices is often required. Of course we can...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn