PHP에서 모바일 장치 감지

Subodh Poudel 2023년1월30일
  1. mobiledetect 클래스를 사용하여 PHP에서 모바일 장치 감지
  2. HTTP_USER_AGENTpreg_match() 함수를 사용하여 PHP에서 모바일 장치 감지
PHP에서 모바일 장치 감지

PHP에서 모바일 장치를 감지하는 몇 가지 방법을 소개합니다.

mobiledetect 클래스를 사용하여 PHP에서 모바일 장치 감지

Mobile Detect라는 경량 PHP 클래스를 사용하여 PHP에서 모바일 장치를 감지할 수 있습니다. 또한 태블릿 장치를 감지합니다. 라이브러리는 특정 HTTP 헤더와 사용자 에이전트 문자열을 사용하여 모바일 장치를 감지합니다. 다음 명령으로 작성기를 사용하여 라이브러리를 다운로드할 수 있습니다.

composer require mobiledetect/mobiledetectlib

라이브러리는 다양한 모바일 환경을 감지하기 위해 isMobile(), isTablet(), isIOS()와 같은 다양한 메소드를 제공합니다. Mobile_Detect() 클래스의 개체를 만들고 이러한 메서드를 사용할 수 있습니다.

예를 들어, 위의 composer 명령을 사용하여 프로젝트 디렉토리에 라이브러리를 다운로드하십시오. 다음으로 require_once 기능을 사용하여 autoload.php 파일이 필요합니다. 파일은 vendor 디렉토리에 있습니다. 다음으로 Mobile_Detect() 클래스의 $detect 개체를 만듭니다. 그런 다음 if 조건에서 isMobile() 함수를 사용합니다. if 블록 내에서 Mobile device detected 메시지를 표시하고 else 블록에 Mobile device not detected 메시지를 표시합니다.

아래 예는 모바일 장치에서 웹페이지에 액세스하는지 감지합니다. 아래 출력 섹션은 PC에서 웹 페이지를 열었을 때의 경우를 표시합니다. 웹 페이지를 마우스 오른쪽 버튼으로 클릭하여 요소 검사로 이동하는 반응형 디자인 모드를 찾을 수 있습니다. 여기에서 다른 모바일 장치를 선택하고 스크립트를 새로 고칠 수 있습니다. 모바일 장치를 선택하면 출력이 Mobile device detected으로 변경됩니다. 이런 식으로 Mobile Detect 클래스를 사용하여 PHP에서 모바일 장치를 감지할 수 있습니다.

예제 코드:

require_once "vendor/autoload.php";

$detect = new Mobile_Detect;

if ( $detect->isMobile() ) {
echo "Mobile device detected";
}
else {
echo "Mobile device not detected";
}
?>

출력:

Mobile device not detected

HTTP_USER_AGENTpreg_match() 함수를 사용하여 PHP에서 모바일 장치 감지

HTTP_USER_AGENT 문자열을 사용하여 웹사이트를 방문하는 사용자의 브라우저에 대한 정보를 얻을 수 있습니다. $_SERVER 슈퍼글로벌 변수와 문자열을 배열 요소로 사용합니다. 슈퍼글로벌 변수는 웹서버에 대한 정보를 담고 있습니다. 모바일 장치에서 찾을 수 있는 사용자 에이전트 문자열의 사용자 지정 컬렉션을 만듭니다. 그런 다음 preg_match() 함수를 사용하여 현재 사용자가 탐색 중인 브라우저와 일치하는지 확인할 수 있습니다. 사용자 에이전트 문자열 컬렉션은 지원되는 새로운 모바일 장치의 출시와 함께 수동으로 추가할 수 있습니다. 업데이트된 사용자 에이전트 문자열 모음 목록은 여기에서 찾을 수 있습니다.

예를 들어 $user_agent 변수를 만들고 $_SERVER["HTTP_USER_AGENT"]를 저장합니다. 그런 다음 preg_match() 함수를 사용하여 사용자 에이전트 문자열을 일치시킵니다. 문자열 컬렉션을 첫 번째 매개변수로 사용합니다. $user_agent 변수를 두 번째 매개변수로 사용하십시오. 마지막으로 if-else 조건을 사용하여 그에 따라 메시지를 표시합니다.

여기서는 iPhone에서 웹페이지를 열었습니다. 따라서 사용자 에이전트 문자열은 컬렉션과 일치합니다. 이런 식으로 PHP에서 모바일 장치를 감지할 수 있습니다.

예제 코드:

$user_agent = $_SERVER["HTTP_USER_AGENT"];
if(preg_match("/(android|webos|avantgo|iphone|ipod|ipad|bolt|boost|cricket|docomo|fone|hiptop|opera mini|mini|kitkat|mobi|palm|phone|pie|tablet|up\.browser|up\.link|webos|wos)/i",$user_agent ))
{
echo "mobile device detected";
}
else{
echo "mobile device not detected";
}

출력:

Mobile device detected
Subodh Poudel avatar Subodh Poudel avatar

Subodh is a proactive software engineer, specialized in fintech industry and a writer who loves to express his software development learnings and set of skills through blogs and articles.

LinkedIn