类别:PHP问题 / 日期:2019-12-02 / 浏览:91 / 评论:0

如今挪动装备大热的年代,能够我们在做web前端开辟的时刻经常会须要用到对挪动装备的页面婚配。固然我们能够用相应式页面设想来处置惩罚前端的婚配题目,然则相应式页面只是不显现某些代码,然则照样会加载到用户的挪动装备中。

为了更好的照顾到用户手机阅读的体验,削减不必要的加载。我们能够再经由过程PHP的体式格局来削减用户的代码加载,进步用户阅读页面时的体验。 (引荐进修:PHP视频教程)

由于如今挪动装备的品种繁多、而且阅读器八门五花,所以仅仅是经由过程UA来推断已不能完整解决题目了。

下面分享一个PHP现成的要领用于PHP做挪动装备的推断

<?php
function isMobile()
{ 
    // 假如有HTTP_X_WAP_PROFILE则一定是挪动装备
    if (isset ($_SERVER['HTTP_X_WAP_PROFILE']))
    {
        return true;
    } 
    // 假如via信息含有wap则一定是挪动装备,部份效劳商会屏障该信息
    if (isset ($_SERVER['HTTP_VIA']))
    { 
        // 找不到为flase,否则为true
        return stristr($_SERVER['HTTP_VIA'], "wap") ? true : false;
    } 
    // 脑残法,推断手机发送的客户端标志,兼容性有待进步
    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'
            ); 
        // 从HTTP_USER_AGENT中查找手机阅读器的关键字
        if (preg_match("/(" . implode('|', $clientkeywords) . ")/i", strtolower($_SERVER['HTTP_USER_AGENT'])))
        {
            return true;
        } 
    } 
    // 协定法,由于有能够不正确,放到末了推断
    if (isset ($_SERVER['HTTP_ACCEPT']))
    { 
        // 假如只支撑wml而且不支撑html那一定是挪动装备
        // 假如支撑wml和html然则wml在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;
        } 
    } 
    return false;
} 
?>

现在这个要领能够用于大多数的挪动装备推断,使用时也能够根据须要自行添加一些UA的推断参数

以上就是php推断是不是为挪动装备的细致内容,更多请关注ki4网别的相干文章!

打赏

感谢您的赞助~

打开支付宝扫一扫,即可进行扫码打赏哦~

版权声明 : 本文未使用任何知识共享协议授权,您可以任何形式自由转载或使用。

 可能感兴趣的文章

评论区

发表评论 / 取消回复

必填

选填

选填

◎欢迎讨论,请在这里发表您的看法及观点。