>  기사  >  백엔드 개발  >  PHP를 사용하여 장치가 Android인지 iOS인지 확인하는 방법

PHP를 사용하여 장치가 Android인지 iOS인지 확인하는 방법

PHPz
PHPz원래의
2023-04-03 17:55:111669검색

웹 개발에서는 사용자가 사용하는 운영체제에 따라 웹페이지를 커스터마이징하는 것이 필수적입니다. PHP는 스크립트가 실행 중인 운영 체제와 사용자가 사용 중인 브라우저를 식별할 수 있습니다. 이번 글에서는 PHP에서 사용자가 사용하는 운영체제를 식별하는 방법과 안드로이드와 iOS를 구별하는 방법을 소개하겠습니다.

다음 두 가지 방법이 제공됩니다.

방법 1: HTTP_USER_AGENT 변수를 사용합니다.

HTTP_USER_AGENT는 브라우저가 웹 서버로 보내는 요청 헤더로, 사용자 에이전트 문자열이 포함되어 있습니다. 이 문자열에는 일반적으로 브라우저 이름, 브라우저 버전, 운영 체제 이름 및 운영 체제 버전이 포함됩니다. PHP에서는 다음 코드를 사용하여 이 변수의 값을 얻을 수 있습니다.

$user_agent = $_SERVER['HTTP_USER_AGENT']

값을 얻은 후 일반적으로 사용자 에이전트 문자열에 포함된 정보를 찾으려고 합니다. . 사용자의 운영 체제를 확인하기 위한 몇 가지 일반적인 사용자 에이전트 문자열은 다음과 같습니다.

Windows
Mozilla/5.0(Windows NT 6.1; Win64; x64) AppleWebKit/537.36(KHTML, like Gecko) Chrome/58.0.3029.96 Safari/537.36
macOS
Mozilla/5.0(Macintosh; Intel Mac OS AppleWebKit/537.36(KHTML, like Gecko) Chrome/51.0.2704.81 Mobile Safari/537.36
iOS
Mozilla/5.0(iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1 .46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1

사용자가 사용하는 운영체제 및 버전은 사용자 에이전트 문자열에 포함된 키워드를 판단하여 확인할 수 있습니다.

$user_agent = $_SERVER['HTTP_USER_AGENT'];

if (preg_match('/iphone|ipod|ipad/i', $user_agent)) {

// iOS
if(preg_match('/OS\s(\d+)_(\d+)/i', $user_agent, $matches)) {
    $os_version = $matches[1] . '.' . $matches[2];
}
echo 'iOS ' . $os_version;

} else if (preg_match('/android/i', $user_agent)) {

// Android
if(preg_match('/Android\s(\d+(\.\d+)?)/i', $user_agent, $matches)) {
    $os_version = $matches[1];
}
echo 'Android ' . $os_version;

} else if ( preg_match('/windows nt/i', $user_agent)) {

// Windows
if(preg_match('/Windows NT (\d+(\.\d+)?)/i', $user_agent, $matches)) {
    $os_version = $matches[1];
}
echo 'Windows ' . $os_version;

} else {

echo 'Unknown OS';

}

방법 2: PHP의 get_browser 함수 사용

get_browser 함수는 사용자가 사용하는 브라우저 및 운영 체제 관련 정보를 반환할 수 있습니다. 그러나 이 기능은 PHP가 설치한 browscap.ini 파일과 지정된 사용자 에이전트 정보와 일치하는 데이터에 의존합니다.

다음은 샘플 코드입니다.

$browser_info = get_browser(null, true);

$os = $browser_info['platform'];


if (preg_match('/iphone|ipod|ipad/i', $_SERVER ['HTTP_USER_AGENT'])) {

echo 'iOS ' . $os;

} else if (preg_match('/android/i', $_SERVER['HTTP_USER_AGENT'])) {

echo 'Android ' . $os;

} else {

echo 'Unknown OS';

}

해야 합니다. PHP의 browscap.ini 파일은 별도로 다운로드해야 하며 다운로드 링크는 https://browscap.org/stream?q=Full_PHP_BrowsCapINI

Conclusion

입니다. 두 방법 모두 PHP에서 사용자의 운영 체제를 결정할 수 있습니다. 원하는 방법만 선택하면 됩니다. 어떤 방법을 선택하더라도 웹 개발 시 사용자 운영 체제의 요구 사항을 잘 충족할 수 있습니다.

위 내용은 PHP를 사용하여 장치가 Android인지 iOS인지 확인하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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