> 백엔드 개발 > PHP 튜토리얼 > PHP는 방문자가 모바일 브라우저를 통해 액세스하고 있는지 확인합니다. PHP 브라우저를 열어 방문자가 WeChat을 탐색하고 있는지 확인합니다.

PHP는 방문자가 모바일 브라우저를 통해 액세스하고 있는지 확인합니다. PHP 브라우저를 열어 방문자가 WeChat을 탐색하고 있는지 확인합니다.

WBOY
풀어 주다: 2016-07-29 08:50:04
원래의
936명이 탐색했습니다.

이 기사는 원래 MaNong.com의 Xiaofeng이 작성했습니다. 재인쇄하려면 기사 끝 부분에 있는 재인쇄 요구 사항을 읽어보세요. 유료 기부 계획에 참여하신 것을 환영합니다!

오늘은 PHP 코드의 일부를 공유하고 싶습니다. 이 코드의 기능은 방문자가 모바일 브라우저를 통해 액세스했는지 여부를 확인하는 것입니다. 방문자는 HTTP_X_WAP_PROFILE, HTTP_VIA, HTTP_USER_AGENT 및 기타 정보를 통과하여 모바일 브라우저에서 PHP 웹사이트에 접속합니다. 다음은 PHP 코드입니다.

/**
 * 是否移动端访问访问
 *
 * @return bool
 */
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;
}
로그인 후 복사

코드가 비교적 완성되었습니다. 관심 있는 학생들은 더 많은 테스트를 수행할 수 있습니다. 버그가 있으면 댓글에 남겨주세요.

위 내용은 PHP와 브라우저 콘텐츠를 포함하여 방문자가 모바일 브라우저를 통해 액세스하는지 여부를 판단하는 방법을 소개합니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿