PHP는 휴대폰에서 열렸는지 PC에서 열렸는지 어떻게 확인합니까?

PHPz
풀어 주다: 2023-04-21 09:56:03
원래의
3215명이 탐색했습니다.

오늘날의 모바일 인터넷 시대에는 다양한 사용자 단말 장치의 사용에 맞게 웹사이트 디자인을 최적화하는 것이 필수 작업이 되었습니다. 따라서 사용자가 웹사이트에 접속할 때 휴대폰을 사용하는지 PC를 사용하는지 PHP에서 어떻게 판단하는가는 개발자가 직면해야 하는 문제 중 하나가 되었습니다. 이 기사에서는 개발자가 웹 사이트를 여는 클라이언트가 휴대폰인지 PC인지 판단하는 데 도움이 되는 몇 가지 일반적인 PHP 코드를 소개합니다.

1. HTTP_USER_AGENT를 통해 액세스 단말 확인

HTTP_USER_AGENT는 HTTP 프로토콜의 헤더 정보로, 액세스 단말 장치 유형을 확인하는 데 사용할 수 있는 많은 장치 식별 정보가 포함되어 있습니다. 사용자 요청 헤더의 HTTP_USER_AGENT를 분석하면 사용자가 사용하는 브라우저, 운영 체제, 모바일 장치 및 기타 정보를 얻을 수 있으며 여기에는 모바일 장치 또는 PC 장치의 식별 정보도 포함됩니다.

구체적인 구현은 다음과 같습니다.

function is_mobile(){
    if (isset($_SERVER['HTTP_USER_AGENT'])) {
        $user_agent = $_SERVER['HTTP_USER_AGENT'];
        $mobile_agents = Array("Android", "iPhone", "iPod", "iPad", "Windows Phone", "BlackBerry", "SymbianOS");
        foreach ($mobile_agents as $mobile_agent) {
            if (strpos($user_agent, $mobile_agent) !== false) {
                return true;
            }
        }
    }
    return false;
}
로그인 후 복사

$mobile_agents 배열을 반복하면 HTTP_USER_AGENT에 모바일 장치 식별자가 포함되어 있는지 여부에 따라 액세스 터미널이 모바일 장치인지 여부를 결정할 수 있습니다. true가 반환되면 사용자가 모바일 장치를 사용했다는 의미이고, 그렇지 않으면 사용자가 PC 장치를 사용했다는 의미입니다.

2. 의심되는 $_SERVER의 원래 메소드를 통해 액세스 단말 확인

HTTP_USER_AGENT 헤더 정보 외에도 $_SERVER의 의심되는 원래 메소드에서 HTTP_ACCEPT 값을 통해 액세스 단말 유형을 확인하는 판단 방법이 있습니다. $_SERVER. HTTP_ACCEPT 값은 사용자의 브라우저가 허용할 수 있는 페이지 유형을 나타냅니다. 일반적으로 브라우저는 기본적으로 text/html 유형의 데이터를 허용하는 반면, 모바일 장치는 text/html 유형 또는 wap 유형의 데이터 형식을 요청합니다.

구체적인 구현 코드는 다음과 같습니다.

function is_mobile(){
    if (isset($_SERVER['HTTP_ACCEPT'])) {
        $accept = $_SERVER['HTTP_ACCEPT'];
        if (strpos($accept, 'vnd.wap.xhtml+xml') !== false || 
            strpos($accept, 'text/vnd.wap.wml') !== false) {
            return true;
        }
    }
    return false;
}
로그인 후 복사

true가 반환되면 사용자가 모바일 기기를 사용하여 접속했다는 의미이고, 그렇지 않으면 사용자가 PC 기기를 사용하여 접속했다는 의미입니다.

3. 모바일 기기를 통해 특정 URL 경로에 접속

기본적으로 모바일 기기에서 웹사이트에 접속하면 자동으로 모바일 버전의 웹페이지로 이동하고, 데스크톱 기기에서 웹사이트에 접속하면 자동으로 이동합니다. 웹페이지의 데스크톱 버전으로 이동합니다. 개발자는 URL 경로의 차이를 기반으로 다양한 장치의 요청을 처리할 수 있습니다.

예를 들어, URL에 "/m/" 문자열을 추가하면 콘텐츠를 조정한 후에도 모바일 웹사이트 페이지를 방문하고 있다는 의미입니다. 접속 URL에 "/m/" 문자열이 없으면 PC 페이지에 접속하고 있다는 의미입니다.

구체적인 구현 코드는 다음과 같습니다.

function is_mobile(){
    if(isset($_SERVER['HTTP_REFERER'])){
        $referer = strtolower($_SERVER['HTTP_REFERER']);
        $mobile_url = strtolower($_SERVER['HTTP_HOST'].'/m/');
        if(strpos($referer, $mobile_url) !== false){
            return true;
        }
    }
    return false;
}
로그인 후 복사

$_SERVER['HTTP_REFERER'] 값을 확인하면 사용자가 현재 페이지에 진입한 페이지 링크를 얻어 모바일을 사용하고 있는지 판단할 수 있습니다. 장치 또는 PC 장치.

요약

위의 세 가지 방법은 모두 사용자 단말 장치 유형을 결정하는 데 사용될 수 있습니다. 어떤 방법을 선택할지는 주로 애플리케이션의 실제 상황에 따라 다릅니다. 실제 애플리케이션에서는 이러한 방법을 다양한 시나리오에 적용하여 사용자에게 보다 친숙한 경험을 제공할 수 있습니다. 개발자가 모바일 기기와 PC 모두에 적합한 웹 애플리케이션을 개발하고 싶다면 위의 방법을 이용하면 쉽게 구현할 수 있다.

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

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