본문 바로가기
PHP

PHP로 쉽게 디바이스 감지하는 법! PC,태블릿,MO (+코드예제)

by 규루리 2025. 4. 21.

웹사이트나 애플리케이션을 만들 때, 디바이스 구분은 매우 중요합니다. PC, 태블릿, 모바일 등 다양한 디바이스에서 웹사이트가 어떻게 다르게 표시되는지에 따라 사용자 경험이 크게 달라지기 때문인데요. 그래서 우리는 PHP를 활용하여 디바이스를 정확히 구분하는 방법을 알아보려고 합니다.

"모바일인지, 태블릿인지, PC인지 구분하려면 어떻게 해야 할까?"라는 궁금증을 해결하기 위해, PHP에서 디바이스를 구분하는 기준과 이를 활용하는 구체적인 예제를 다루어 보겠습니다.

반응형

 

 

PHP에서 디바이스 구분하기

디바이스 구분은 주로 User-Agent라는 HTTP 헤더 값을 통해 이루어집니다. 이 값은 클라이언트가 웹서버에 요청을 보낼 때, 자신이 사용하는 브라우저, 운영체제, 그리고 디바이스 종류를 포함한 문자열입니다.

1) User-Agent 예시

  • PC: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36
  • 모바일: Mozilla/5.0 (iPhone; CPU iPhone OS 14_5 like Mac OS X) AppleWebKit/537.36 (KHTML, like Gecko) Mobile/15E148 Safari/537.36
  • 태블릿: Mozilla/5.0 (Linux; Android 10; SM-T875) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.120 Safari/537.36

이렇게, User-Agent 문자열 안에 디바이스 종류를 나타내는 정보가 포함되어 있기 때문에, 이를 기반으로 디바이스를 구분할 수 있습니다.

 

2) PHP 코드 예제

<?php
$userAgent = $_SERVER['HTTP_USER_AGENT'];

function getDeviceType($userAgent) {
    // 모바일 디바이스 확인
    if (preg_match('/mobile/i', $userAgent)) {
        return 'mobile';
    }
    // 태블릿 디바이스 확인
    elseif (preg_match('/tablet|ipad/i', $userAgent)) {
        return 'tablet';
    }
    // PC 디바이스 확인
    else {
        return 'pc';
    }
}

$deviceType = getDeviceType($userAgent);
echo "디바이스 종류: " . $deviceType;
?>

 

3) 결과 화면 예시

  • 모바일: 디바이스 종류: mobile
  • 태블릿: 디바이스 종류: tablet
  • PC: 디바이스 종류: pc

 

728x90

 

 

User-Agent 외에도 다른 기준을 활용하기

User-Agent만으로 디바이스를 완벽히 구분하는 것은 아닙니다. 화면 크기, 해상도 등도 중요한 기준이 될 수 있습니다. 예를 들어, 모바일 디바이스는 일반적으로 작은 화면낮은 해상도를 가지기 때문에 이를 기준으로 구분할 수도 있습니다.

function isMobileDevice() {
    return isset($_SERVER['HTTP_ACCEPT']) && strpos($_SERVER['HTTP_ACCEPT'], 'application/vnd.wap.xhtml+xml') !== false;
}

if (isMobileDevice()) {
    echo "모바일 디바이스";
} else {
    echo "PC 디바이스";
}

이 방법은 모바일 디바이스만의 특성을 기반으로 디바이스를 구분하는 추가적인 방법입니다.

728x90
반응형
LIST