티스토리 뷰

PHP 강좌/카운터

카운터 만들기 ::: 소스 코드

행복한브라운 2009. 4. 1. 20:28

 
  

이 카운터의 전체적인 흐름은 다음과 같습니다.

[카운터를 달기위한 선행작업]
1. 카운터가 들어갈 페이지와 동일한 디렉토리에 count.txt 라는 파일을 만듭니다.
2. 퍼미션(파일의 권한설정)을 777로 맞춥니다.
텔넷 : chmod 777 count.txt
FTP : 파일을 클릭하고 오른쪽 버튼을 누르면 chmod 설정메뉴가 있습니다.




 


위 그림과 같이 체크 박스를 모두 클릭하시거나 모드를 777로 수정하면 됩니다.

파일 시스템을 NTFS를 사용하는 경우에 다음과 같이 설정하시면 퍼미션 설정이 가능합니다. FAT32인 경우에는 퍼미션 설정이 필요없습니다.

윈도우탐색기->도구->폴더옵션->보기->모든 사용자에게 동일한 폴더 공유권한을 지정을 체크해제.


원하는 파일을 선택하시고 마우스오른쪽 버튼->속성->보안->사용자에 Everyone 추가->모든권한부여



위처럼 하시면 카운터가 잘 동작할 것이라 믿습니다.-_-;; 사진은 어딘가에서~ 사알짝~쿵~



1. 현재까지의 방문자수를 알기 위해 count.txt 파일을 열어 적혀있는 값을 가져옵니다.

2. 파일에서 가져온 값에 쓰레기값(빈공간)을 없앱니다. 그럼 현재까지의 방문자 수를 구한 샘이군요. $count 에 저장되어 있습니다.

3. 첫번째 접속인지 아니면 이미 접속되어있는 상태인지 확인합니다. 매번 페이지를 볼때마다 카운터가 올라가는 것을 방지하기 위함입니다. 이미 접속되어 있다면 쿠키값을 가지고 있겠죠? 쿠키가 저장된 변수는 $ip 입니다. $ip의 값을 확인하면 되겠네요.
if (!$ip) -> $ip 값이 비어 있을때.. 즉 처음 접속했을때 입니다.

4. 만약 쿠키값이 있다면 다시 카운터를 올릴 필요가 없으니 현재 방문자수를 보여주면 될테고 쿠키값이 없으면 처음 접속하는 것이니 카운터를 올려주도록 합시다. 위에서 카운터는 $count 변수에 저장되어 있다고 했습니다. 그럼 $count ++; 로 $count 값에 1을 더합니다.

5. 자 그럼 카운터값을 저장해야겠지요? 다시 count.txt 파일을 엽니다. 이번엔 fopen 이란 함수가 쓰였네요. fopen(파일 이름,파일모드) 형식으로 쓰는 겁니다. 파일모드는 w,r,w+,r+ 등등이 있는데.. write(쓰기)할거냐 read(읽기)할거냐를 지정해 주는 것입니다. 우리는 파일을 쓸거니깐 w를 쓰면 되겠죠?

6. 파일을 열었으니 값을 저장해 봅시다. fwrite 눈치채셨겟지만.. file을 write 하겠다는 함수입니다. fwrite(열려진 파일의 핸들,저장하고자 하는 값) 이러한 형식입니다.

7. 자 파일을 열어 저장했으니 열었던 파일을 닫습니다.
fclose 파일을 닫겠다는 거겠죠?
fclose(열려진 파일의 핸들) 형식입니다.

8. 카운터도 저장하고 했으니 접속했다는 의미로 쿠키를 하나 줍시다. 홈피를 방문해 줬는데 얼마나 이뻐요..^^;; 쿠키하나 아니 열개라도 주고 싶은데.. ^^;;; SetCookie(쿠키를 저장할 변수,저장될 값) 의 형식으로 쓰여집니다. 물론 SetCookie 함수는 이외에 더 많은 설정을 할 수 있습니다. 가장 간단한 모양이라고 저번에 말씀드렸죠? $REMOTE_ADDR 은 환경변수의 일종으로 브라우저가 제공해주는 값입니다. 접속자의 접속 IP를 알려주는 거지요. ^^

9. 자 그럼 쿠키도 하나 줬으니 이제 카운터를 보여주면 되겠네요. 카운터를 출력할 부분에다가 $count 값을 뿌려주면 끝!!!

참고.
쿠키는 사용자의 컴퓨터에 저장됩니다. 서버가 쿠키를 관리하는 것이 아닙니다. 브라우저가 사용자의 컴퓨터에 저장된 쿠키를 읽어와서 브라우저의 헤더에다가 정보를 써두면 PHP 코드가 이 헤더정보를 가져와서 쿠키가 있는지 없는지를 확인하는 것입니다.

Comments
댓글쓰기 폼