Rumah  >  Artikel  >  pembangunan bahagian belakang  >  PHP判断PC浏览器与手机浏览器的方法

PHP判断PC浏览器与手机浏览器的方法

巴扎黑
巴扎黑asal
2016-11-08 09:52:301437semak imbas

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')         { 
            return true; 
        } 
    } 
    return false; 

?>

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:PHP MVC框架核心类Artikel seterusnya:快递查询API接口PHP源码程序