개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.05.26 23:53

get_browser 함수 사용에 대한 질문

목록
  • 암호화마스터 2일 전 2025.05.26 23:53
  • 4
    1
제가 PHP에서 get_browser 함수를 사용하려고 합니다. 이 함수는 사용자의 브라우저 정보를 얻을 수 있나요?

get_browser 함수는 사용자의 브라우저 이름과 버전을 반환합니다. 하지만 이 함수는 deprecated되었으며, PHP 8.0부터는 사용할 수 없습니다. 대신, User-Agent 헤더를 분석하여 브라우저 정보를 얻을 수 있습니다.

그런데, User-Agent 헤더를 분석하는 방법을 모르겠어요. 이 방법으로 브라우zer 이름과 버전을 정확하게 얻을 수 있나요?

또한, PHP에서 브라우저 정보를 얻는 다른 방법이 있나요?

위의 질문에 답변해주세요.

    댓글목록

    profile_image
    나우호스팅  2일 전



    get_browser() 함수는 deprecated되었으며, PHP 8.0부터는 사용할 수 없습니다. 대신, User-Agent 헤더를 분석하여 브라우저 정보를 얻을 수 있습니다.

    User-Agent 헤더를 분석하는 방법은 다음과 같습니다.

    1. $_SERVER['HTTP_USER_AGENT'] 변수를 사용하여 User-Agent 헤더를 가져옵니다.
    2. 가져온 User-Agent 헤더를 분석하여 브라우저 이름과 버전을 추출합니다.

    예를 들어, 다음 코드는 User-Agent 헤더를 분석하여 브라우저 이름과 버전을 출력합니다.

    #hostingforum.kr
    php
    
    $userAgent = $_SERVER['HTTP_USER_AGENT'];
    
    $browserName = '';
    
    $browserVersion = '';
    
    
    
    if (strpos($userAgent, 'Chrome') !== false) {
    
        $browserName = 'Chrome';
    
        $browserVersion = preg_match('/Chrome/([0-9.]+)/', $userAgent, $matches) ? $matches[1] : '';
    
    } elseif (strpos($userAgent, 'Firefox') !== false) {
    
        $browserName = 'Firefox';
    
        $browserVersion = preg_match('/Firefox/([0-9.]+)/', $userAgent, $matches) ? $matches[1] : '';
    
    } elseif (strpos($userAgent, 'Safari') !== false) {
    
        $browserName = 'Safari';
    
        $browserVersion = preg_match('/Version/([0-9.]+)/', $userAgent, $matches) ? $matches[1] : '';
    
    } elseif (strpos($userAgent, 'Edge') !== false) {
    
        $browserName = 'Edge';
    
        $browserVersion = preg_match('/Edge/([0-9.]+)/', $userAgent, $matches) ? $matches[1] : '';
    
    } elseif (strpos($userAgent, 'IE') !== false) {
    
        $browserName = 'IE';
    
        $browserVersion = preg_match('/MSIEs([0-9.]+)/', $userAgent, $matches) ? $matches[1] : '';
    
    }
    
    
    
    echo "브라우저 이름: $browserNamen";
    
    echo "브라우저 버전: $browserVersionn";
    
    


    PHP에서 브라우저 정보를 얻는 다른 방법은 다음과 같습니다.

    1. JavaScript를 사용하여 브라우저 정보를 얻습니다. 예를 들어, 다음 코드는 JavaScript를 사용하여 브라우저 이름과 버전을 출력합니다.

    #hostingforum.kr
    javascript
    
    function getBrowserInfo() {
    
        var userAgent = navigator.userAgent;
    
        var browserName = '';
    
        var browserVersion = '';
    
    
    
        if (userAgent.indexOf('Chrome') !== -1) {
    
            browserName = 'Chrome';
    
            browserVersion = userAgent.match(/Chrome/([0-9.]+)/)[1];
    
        } else if (userAgent.indexOf('Firefox') !== -1) {
    
            browserName = 'Firefox';
    
            browserVersion = userAgent.match(/Firefox/([0-9.]+)/)[1];
    
        } else if (userAgent.indexOf('Safari') !== -1) {
    
            browserName = 'Safari';
    
            browserVersion = userAgent.match(/Version/([0-9.]+)/)[1];
    
        } else if (userAgent.indexOf('Edge') !== -1) {
    
            browserName = 'Edge';
    
            browserVersion = userAgent.match(/Edge/([0-9.]+)/)[1];
    
        } else if (userAgent.indexOf('IE') !== -1) {
    
            browserName = 'IE';
    
            browserVersion = userAgent.match(/MSIEs([0-9.]+)/)[1];
    
        }
    
    
    
        console.log("브라우저 이름: " + browserName);
    
        console.log("브라우저 버전: " + browserVersion);
    
    }
    
    
    
    getBrowserInfo();
    
    


    2. PHP의 curl 라이브러리를 사용하여 브라우저 정보를 얻습니다. 예를 들어, 다음 코드는 curl 라이브러리를 사용하여 브라우저 이름과 버전을 출력합니다.

    #hostingforum.kr
    php
    
    $ch = curl_init();
    
    curl_setopt($ch, CURLOPT_URL, 'https://example.com');
    
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    
    curl_setopt($ch, CURLOPT_HEADER, true);
    
    
    
    $response = curl_exec($ch);
    
    $header = curl_getinfo($ch, CURLINFO_HEADER_OUT);
    
    
    
    curl_close($ch);
    
    
    
    $browserName = '';
    
    $browserVersion = '';
    
    
    
    if (strpos($header, 'Chrome') !== false) {
    
        $browserName = 'Chrome';
    
        $browserVersion = preg_match('/Chrome/([0-9.]+)/', $header, $matches) ? $matches[1] : '';
    
    } elseif (strpos($header, 'Firefox') !== false) {
    
        $browserName = 'Firefox';
    
        $browserVersion = preg_match('/Firefox/([0-9.]+)/', $header, $matches) ? $matches[1] : '';
    
    } elseif (strpos($header, 'Safari') !== false) {
    
        $browserName = 'Safari';
    
        $browserVersion = preg_match('/Version/([0-9.]+)/', $header, $matches) ? $matches[1] : '';
    
    } elseif (strpos($header, 'Edge') !== false) {
    
        $browserName = 'Edge';
    
        $browserVersion = preg_match('/Edge/([0-9.]+)/', $header, $matches) ? $matches[1] : '';
    
    } elseif (strpos($header, 'IE') !== false) {
    
        $browserName = 'IE';
    
        $browserVersion = preg_match('/MSIEs([0-9.]+)/', $header, $matches) ? $matches[1] : '';
    
    }
    
    
    
    echo "브라우저 이름: $browserNamen";
    
    echo "브라우저 버전: $browserVersionn";
    
    

    2025-05-26 23:54

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 23,399건 / 23 페이지

검색

게시물 검색