웹마스터 팁
page_full_width">
현재 접속자 구하기...(파일2개)
2002.10.26 21:39
안녕하세요???
항상... 호스팅해준다고.. 뻥을? 친 사람입니다..ㅡㅡ;;;;
제가 오늘 첨으로 강좌를 올리네요...
주제는 현재접속자 구하기 이고요./..
파일구성은 아래와 같습니다
user.php = PHP함수
user.html = 접속자를 구함
이방법은 DB를 이용하지않고 파일시스템을 이용하고 제가 태스트해본결과 트래픽도 약간 나왔습니다.
방법은 아주쉽습니다..
그냥 시간 알고리듬이나 .....ㅡㅡ;;;잡종알고리듬엔 도움안될듯...
먼저 user.php 를 봅시다
<?php
if(!is_dir("user_save")){
//user_save 를 디렉토리를 검사한다
mkdir("user_save",0777);
//user_save 라는 디렉토리생성
}
$open_time = 15;
$w_time = 20;
$FILE = fopen("user_save/$REMOTE_ADDR","w");
$info = time();
fputs($FILE,$info);
fclose($FILE);
$USER1 = opendir("user_save");
while($entry=readdir($USER1)) if($entry!="."&&$entry!=".."&&$entry!="index.html") $user1[]=$entry;
$total_user = count($user1);
$ip = "$REMOTE_ADDR";
for($i=0;$i<$total_user;$i++) {
if($REMOTE_ADDR != chop($user1[$i])) {
$aaa = file("user_save/$user1[$i]");
$file = chop($user1[$i]);
$time = chop($aaa[0]);
if((time()-$w_time)>$time) {
unlink("user_save/$file");
$total_user-=1;
} else {
$ip.="n$user1[$i]";
}
}
}
echo "<meta http-equiv='refresh' content='$open_time;url=$PHP_SELF'>";
?>
말로표현하면...
먼저 폴더를 검색해서 없으면 만들고 시간과 아이피를 구해 접속한사름을 저장시키고 그것을 나타내는것이라고 할까요:??ㅡㅡ;;; 제가 PHP를 잘 다루질 못해서..ㅡㅡ;; 그래요
user.html 을 보면.. 그냥 추출하는것.
<? include "user.php"; ?>
<HTML>
<HEAD>
<TITLE>ingingzb41 현재접속자</TITLE>
</HEAD>
<body>
현재 접속자 : <?=$total_user;?>명
</BODY>
</HTML>
그냥 나타내는것입니다.......
많은방문객이 오는 사이트는.. 이것을 쓸것을 추천하지 않습니다..ㅡㅡ;;;
전에 태그코리아에서 제가 이걸 써보라고 해서....... 했는데요... 금방 파산되었습니다..
그정도로.. 이게 힘없고 트래픽만 잔뜩 부하해서.... 너죽었어... 하는거죠..ㅡㅡ;;;ㅋㅋ
그냥 접속자 구하는것만 알아두시면 좋겟네요..
DB로하는방법도있는데.. 그것을 정확하지 않아서.. 올리지 않습니다..
허접한것이니 돌 던지지 마요..ㅡㅡ;;
항상... 호스팅해준다고.. 뻥을? 친 사람입니다..ㅡㅡ;;;;
제가 오늘 첨으로 강좌를 올리네요...
주제는 현재접속자 구하기 이고요./..
파일구성은 아래와 같습니다
user.php = PHP함수
user.html = 접속자를 구함
이방법은 DB를 이용하지않고 파일시스템을 이용하고 제가 태스트해본결과 트래픽도 약간 나왔습니다.
방법은 아주쉽습니다..
그냥 시간 알고리듬이나 .....ㅡㅡ;;;잡종알고리듬엔 도움안될듯...
먼저 user.php 를 봅시다
<?php
if(!is_dir("user_save")){
//user_save 를 디렉토리를 검사한다
mkdir("user_save",0777);
//user_save 라는 디렉토리생성
}
$open_time = 15;
$w_time = 20;
$FILE = fopen("user_save/$REMOTE_ADDR","w");
$info = time();
fputs($FILE,$info);
fclose($FILE);
$USER1 = opendir("user_save");
while($entry=readdir($USER1)) if($entry!="."&&$entry!=".."&&$entry!="index.html") $user1[]=$entry;
$total_user = count($user1);
$ip = "$REMOTE_ADDR";
for($i=0;$i<$total_user;$i++) {
if($REMOTE_ADDR != chop($user1[$i])) {
$aaa = file("user_save/$user1[$i]");
$file = chop($user1[$i]);
$time = chop($aaa[0]);
if((time()-$w_time)>$time) {
unlink("user_save/$file");
$total_user-=1;
} else {
$ip.="n$user1[$i]";
}
}
}
echo "<meta http-equiv='refresh' content='$open_time;url=$PHP_SELF'>";
?>
말로표현하면...
먼저 폴더를 검색해서 없으면 만들고 시간과 아이피를 구해 접속한사름을 저장시키고 그것을 나타내는것이라고 할까요:??ㅡㅡ;;; 제가 PHP를 잘 다루질 못해서..ㅡㅡ;; 그래요
user.html 을 보면.. 그냥 추출하는것.
<? include "user.php"; ?>
<HTML>
<HEAD>
<TITLE>ingingzb41 현재접속자</TITLE>
</HEAD>
<body>
현재 접속자 : <?=$total_user;?>명
</BODY>
</HTML>
그냥 나타내는것입니다.......
많은방문객이 오는 사이트는.. 이것을 쓸것을 추천하지 않습니다..ㅡㅡ;;;
전에 태그코리아에서 제가 이걸 써보라고 해서....... 했는데요... 금방 파산되었습니다..
그정도로.. 이게 힘없고 트래픽만 잔뜩 부하해서.... 너죽었어... 하는거죠..ㅡㅡ;;;ㅋㅋ
그냥 접속자 구하는것만 알아두시면 좋겟네요..
DB로하는방법도있는데.. 그것을 정확하지 않아서.. 올리지 않습니다..
허접한것이니 돌 던지지 마요..ㅡㅡ;;