티스토리 뷰

방문자의 숫자를 세는 카운터(counter) 만들기


오늘은 PHP를 이용하여 카운터를 만들어 보도록 하겠습니다.

   

   

카운터란 무엇인가요?

사이트에 몇명의 방문객이 왔는지에 대한 정보를 얻고 싶을 때 사용합니다.

   

counter.php

   

파일을 이용하여 만들어 보겠습니다.

 <?php
/**
 * 카운터 예제
 */

    if ( !file_exists ( "count.txt") )
    {
       
$fp = fopen("count.txt", "w+") ;
       
fclose($fp) ;
    }


    // count.txt 파일을 읽어 각 줄마다 배열로 만들어 리턴합니다.
    $count = file("count.txt") ;
   
    // count.txt파일의 첫줄이 $count[0]에 저장되는데 이것을 chop함수를 이용하여 $count변수에 대입합니다.
    $count = chop($count[0]) ;
   
    if ( !$_COOKIE["ip"] )
    {
        $count++ ;
       
        // count.txt파일을 쓰기 모드로 열어 $count변수의 값을 기록하고 파일을 닫습니다.
        $fp = fopen("count.txt", "w") ;
        fwrite($fp, "$count") ;
        fclose($fp) ;
       
        SetCookie("ip", $REMOTE_ADDR) ;
    }

   

    echo $_SERVER['REMOTE_ADDR'] ;
    echo "<br>" ;
    echo $count ;

?>

   

위의 소스의 실행 결과는 다음과 같습니다.

새로고침을 해도 카운터는 올라가지 않아요~

쿠키 덕분이죠

   

브라우저를 종료하고 다시 접속하면 올라갑니다.

   


   

그럼 오늘은 여기까지 ~~



신고
공유하기 링크
TAG
댓글
댓글쓰기 폼
  • azstory 딱 제가 원하던 내용이네요
    덕분에 잘 사용했습니다.
    출처표시 하여 내용 가져가도 될까요?
    2016.06.30 14:33 신고
  • 하늘과 나 링크로 부탁드립니다^^ 2016.06.30 15:24 신고
  • Tony 귀중한 글 감사합니다.
    다만 바로 사용하시면 안되는 분이 계실거에요.
    17라인의 if ( !$_COOKIE["ip"] )를 if ( !isset($_COOKIE["ip"]) )로 변경하시고
    26라인의 SetCookie("ip", $REMOTE_ADDR) ; 를 SetCookie("ip", $_SERVER["REMOTE_ADDR"]) ;로 변경하시면 잘 작동됩니다
    2017.05.24 12:35 신고