접속한 단말을 구분하고 IP주소를 확인하는 코드다.
echo $_SERVER['HTTP_USER_AGENT'].'<br />';
이 한줄로 접속한 단말의 정보를 알 수 있다. 직접 확인해보라.
스마트폰 단말에서 접속이 글자가 너무 작아지는 걸 방지하기 위해서 헤더정보를 포함했다.
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="robots" content="noindex,nofollow"/> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1" /> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> </head> <body> <?php echo $_SERVER['HTTP_USER_AGENT'].'<br />'; if(strpos($_SERVER['HTTP_USER_AGENT'],"iPhone")>0){ echo '<br />'."접속단말 : 아이폰"; } else if(strpos($_SERVER['HTTP_USER_AGENT'],"Android")>0) { echo '<br />'."접속단말 : 안드로이드"; }
$ipAddress = getClientIP(); echo '<br />'; echo '<br />'.$ipAddress;
function getClientIP() { if (isset($_SERVER)) { if (isset($_SERVER["HTTP_X_FORWARDED_FOR"])) return $_SERVER["HTTP_X_FORWARDED_FOR"];
if (isset($_SERVER["HTTP_CLIENT_IP"])) return $_SERVER["HTTP_CLIENT_IP"];
return $_SERVER["REMOTE_ADDR"]; }
if (getenv('HTTP_X_FORWARDED_FOR')) return getenv('HTTP_X_FORWARDED_FOR');
if (getenv('HTTP_CLIENT_IP')) return getenv('HTTP_CLIENT_IP');
return getenv('REMOTE_ADDR'); }
?> </body> </html> |
접속단말이 Android 인 경우 Android 버전 정보를 알고 싶다면 어떻게 하면 될까?
if(strstr($_SERVER['HTTP_USER_AGENT'], 'Android')){
preg_match('/Android (\d+(?:\.\d+)+)[;)]/', $_SERVER['HTTP_USER_AGENT'], $matches);
echo $matches[1].'<br />';
}
로 하면 버전 정보를 추출할 수 있다.