>백엔드 개발 >PHP 문제 >PHP는 액세스가 휴대폰에서인지 컴퓨터에서인지 어떻게 확인합니까?

PHP는 액세스가 휴대폰에서인지 컴퓨터에서인지 어떻게 확인합니까?

PHPz
PHPz원래의
2020-09-25 15:45:284275검색

휴대폰에서 접속했는지 컴퓨터에서 접속했는지 확인하는 방법: 1. [HTTP_X_WAP_PROFILE]이 있으면 모바일 기기여야 합니다. 2. [HTTP_USER_AGENT]에서 모바일 브라우저의 키워드를 찾습니다. wml만 지원하고 html을 지원하는 모바일 기기여야 합니다.

PHP는 액세스가 휴대폰에서인지 컴퓨터에서인지 어떻게 확인합니까?

추천: "PHP 동영상 튜토리얼"

모바일 접속인지 컴퓨터 접속인지 확인하는 방법:

1. HTTP_X_WAP_PROFILE이 있는 경우 모바일 장치여야 합니다

//判断电脑还是手机访问
    function is_mobile(){ 
        
        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;
        }

2. - 죽은 방식, 휴대폰 판단 전송된 클라이언트 로고 호환성 개선 필요

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;
    } 
}

3. 프로토콜 방식, 부정확할 수 있으니 최종 판단에 맡겨두세요

  if (isset ($_SERVER['HTTP_ACCEPT']))
    { 
        // 如果只支持wml并且不支持html那一定是移动设备
        // 如果支持wml和html但是wml在html之前则是移动设备
        if ((strpos($_SERVER[&#39;HTTP_ACCEPT&#39;], &#39;vnd.wap.wml&#39;) !== false) && (strpos($_SERVER[&#39;HTTP_ACCEPT&#39;], &#39;text/html&#39;) === false || (strpos($_SERVER[&#39;HTTP_ACCEPT&#39;], &#39;vnd.wap.wml&#39;) < strpos($_SERVER[&#39;HTTP_ACCEPT&#39;], &#39;text/html&#39;))))
        {
            return true;
        } 
    } 
    return false;
}

위 내용은 PHP는 액세스가 휴대폰에서인지 컴퓨터에서인지 어떻게 확인합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.