[방법]
1. 홈디렉토리 아래에 count 폴더를 만들고 그 폴더안에 visit.txt를 만든다.
2.visit.txt에 시작count값을 넣는다. (시작을 솔직하게 0으로 하던지 혹은 1000으로 하던지)
3.홈디렉토리에 global.asa파일을 만든다. 파일에 아래와 같은 내용을 넣어준다.
application 스타트시 visit.txt를 읽어 방문자수를 count변수에 넣어준다.
session 스타트시 count값을 증가시킨다. (10명 증가때 마다 visit.txt에 저장해준다.)
application 종료시 count변수를 읽어 visit.txt에 저장한다.
현재접속인원 now_visit은 session 스타트시 증가, session 종료시 감소시켜주고
보여주는 화면에서 10초마다 refresh시켜주어 현재 접속인원을 새로고침하지 않아도
반영될 수 있도록 한다.
***** global.asa 내용 ******
<script language="vbscript" runat="server">
sub application_onstart
set fileobject = server.createobject("scripting.filesystemobject")
vcfn="c:\hsjeon\web\count\visit.txt"
//첫번째 false : 기존에 파일이 있어야만 불러올 수 있도록
//두번째 false : asc 파일
//vcfn : 파일명
set out=fileobject.opentextfile(vcfn,1,false,false)
//visit.txt에서 한줄을 읽어 application의 변수에 넣는다.
application("count")= out.readline
application("now_visit") = 0
//경로명을 계속사용하려고 전역변수인 vcfn을 만든다.
application("vcfn") = vcfn
end sub
sub application_onend
set fileobject = server.createobject("scripting.filesystemobject")
// 파일을 그냥 open하면 append만 되므로 덮어쓰는 것으로 파일을 연다.
set out=fileobject.createtextfile(application("vcfn"),true)
application.lock
out.writeline(application("count"))
out.close
application.unlock
end sub
sub session_onstart
//count는 전역변수 이므로 동시에 접근할 수 있으므로
// 이런 현상을 방지하려고 lock을 걸고 사용하고, 사용후 lock를 풀어준다.
application.lock
application("count") = application("count") + 1
application("now_visit") = application("now_visit") + 1
application.unlock
//세션이 유지되는 시간설정 (분단위)
session.timeout = 10
//count가 10증가될 때마다 visit.txt에 저장해준다.
if application("count") mod 10 = 0 then
set fileobject = server.createobject("scripting.filesystemobject")
// 파일을 그냥 open하면 append만 되므로 덮어쓰는 것으로 파일을 연다.
set out=fileobject.createtextfile(application("vcfn"),true)
application.lock
out.writeline(application("count"))
out.close
application.unlock
end if
end sub
sub session_onend
//현재방문자수에서 빼준다.
application.lock
application("now_visit") = application("now_visit") - 1
application.unlock
end sub
</script>
4. count값을 홈페이지에 보여주는 방법
글자로 보여주려면
총접속인원은:<%=application("count")%>
예쁘게 아이콘으로 보여주려면
http://iconnara.pe.kr 에서 다운받은 숫자 아이콘을 image폴더에 no0.gif ~ no9.gif 로 넣고
아래처럼 적어준다.
총접속인원은:<br>
<% for i=1 to Len(application("count"))
num = mid(application("count"),i,1)
%>
<img src="image/no<%=num%>.gif" width=20 height=20>
<%next%>
5.접속인원을 10초마다 다시 보여주려면
접속인원을 보여주는 화면의 head에 meta태그를 넣어준다.
<head>
<meta http-equiv="refresh" content=10>
</head>
'낙서장' 카테고리의 다른 글
[펌] e-Learning 바로보기 (0) | 2010.07.12 |
---|---|
[펌] BugsMusic에서 음원 가져오는 방법입니다..^^ (0) | 2010.07.12 |
[펌] ♣ 부르고뉴 와이너리에 관한 전체 자료 ♣ (0) | 2010.07.12 |
[펌] [태그연습] 카페 태그는 여기서 연습하세요 (0) | 2010.07.12 |
[펌] [유틸리티] 윈도우 업데이트 新정품인증 패치 (0) | 2010.07.12 |