• [PHP] IE 브라우저 접속 검출하기
    프로그래밍/Web(CSS + HTML + JS + PHP ) 2019. 4. 19. 15:44
    728x90

    IE ?

    IE(Internet Explorer)는 윈도우에 기본 탑재되어 편리한 웹 생활을 담당해주었던 인터넷 브라우저의 일종이다.

    하지만 윈도우 10이 발표되고 Edge Browser(엣지 브라우저)가 발표됨에 따라 IE의 지원은 끊겼다.

     

    따라서 IE에 탑재된 Trident엔진은 CSS를 정확히 지원을 못하고, 예상치 못한 오류들을 보여주고 있다.

     

    소스 코드

    php에서 IE로 접속했는지 검출하려면 '$_SERVER['HTTP_USER_AGENT']'을 사용하면 된다.

    아래는 $_SERVER ['HTTP_USER_AGENT']를 사용하여 짠 함수다.

     

    <?php
    function getBrowser() {
        $broswerList = array('MSIE', 'Chrome', 'Firefox', 'iPhone', 'iPad', 'Android', 'PPC', 'Safari', 'Trident', 'none');
        $browserName = 'none';
        
        foreach ($broswerList as $userBrowser){
            if($userBrowser === 'none') break;
            if(strpos($_SERVER['HTTP_USER_AGENT'], $userBrowser)) {
                $browserName = $userBrowser;
                break;
            }
        }
        return $browserName;
    }
    
    function isBlockBrowser() {
        $BrowserName = getBrowser();
        if($BrowserName === 'MSIE'||$BrowserName === 'Trident'){
            echo("<script>location.replace('./NotSupportBrowser.html');</script>"); 
        }
    }
    ?>

    다른 php헤더에 include하고 isBlockBrowser();을 호출하여 사용할 수 있다.

     

    '<script>location.replace('./NotSupportBrowser.html');</script>' 부분을 수정하면 IE감지시에 원하는 곳으로 이동 시킬 수 있다.


    728x90

    댓글

Copyright ⓒ syudal.tistory.com