728x90

접속한 단말을 구분하고 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 />';
}
로 하면 버전 정보를 추출할 수 있다.


'Web 프로그램 > PHP 응용 및 활용' 카테고리의 다른 글

PHP 달력 만들기 소스  (0) 2018.10.30
날짜 선택  (0) 2018.10.26
PHP 글자수 줄임 표시  (0) 2018.06.09
PHP to JSP  (0) 2018.04.28
PHP Form 다중 체크박스 값 전달 및 POST  (0) 2018.04.02
블로그 이미지

Link2Me

,