수행시간 체크

· 15년 전 · 1787
PHP]현재 접속자 수 체크하기

<접속했을때>
1.방문자가 사이트에 접속한다.
2.방문자가 사이트에 접속하면 현재의 시간과 접속한 방문자의 IP를 체크한다.
3.방문자의 IP를 이름으로 갖는 텍스트 파일을 생성한다.(생성시간은 방문자가 접속한 시간)
4.다른 IP를 가진 사용자일경우 다른 파일로 생성될 것이기 때문에 파일의 개수를 세어 출력한다.

<떠났을때>
1.방문자가 사이트에 접속한다.
2.방문자가 사이트에 접속하면 현재의 시간과 접속한 방문자의 IP를 체크한다.
3.각 파일들의 생성 시간과 현재 시간과의 차가 20초 이상인 파일을 삭제한다. 즉 20초마다 refresh 하겠다는 말이다.
4.위와 동일
5.위와 동일

<?
$time = time();    //현재의 시간 저장
$ip = $_SERVER[REMOTE_ADDR];    //방문자 IP저장
?>

$result = opendir("now");    //now에 있는 파일 꺼내기 (퍼미션주의)
while($file = readdir($result)){
    if($file == "." || $file == ".."){
        continue;    //파일 이름이 . 또는 ..일 경우에 무시하기( . 과 ..은 경로이다)
    }
    $visit = filemtime("now/$file");    //파일의 생성시간 구하기
    $out = $time - $visit;    //방문자의 접속시간
    if($out > 20){
    unlink("now/$file");    //접속유지 시간이 지난 사용자 삭제
    }
}

$fp = fopen("now/$ip", "w");    //(3)
fwrite($fp, "0");    //파일의 내용이 무엇이 들어가건 상관없다.
fclose($fp);

<Source>
<?
//////////////////////////////////
// 1.방문자가 사이트에 접속한다.
// 2.현재의 시간과 방문자의 IP체크
// 3.각 파일들의 생성 시간과 현재 시간의 차가 20초 이상인 파일을 삭제
// 4.IP를 이름으로 갖는 텍스트를 생성
// 5.파일의 개수를 세어 출력한다.
///////////////////////////////////

$time = time(); //현재 시간
$ip = $_SERVER[REMOTE_ADDR];    //IP Addr

$result = opendir("now");
while($file = readdir($result)){
        if($file == "." || $file == "..")
                continue;
        $visit = filemtime("now/$file");        //파일의 생성시간
        $out = $time - $visit;
        if(out>20){
                unlink("now/$file");
        }
}

$fp = fopen("now/$ip", "w");
fwrite($fp, "0");
fclose($fp);

$result = opendir("now");
while($file = readdir($result)){
        if($file=="." || $file=="..")
                continue;
        $i++;
}
echo "현재 접속자 수는 <b>$i</b>명 입니다.<br>";

?>


$result = opendir("now");
while($file = readdir($result)){
    if($file == "." || $file == "..")

[이 게시물은 관리자님에 의해 2011-10-31 17:16:08 PHP & HTML에서 이동 됨]
|
댓글을 작성하시려면 로그인이 필요합니다.

프로그램

+
제목 글쓴이 날짜 조회
15년 전 조회 2,658
15년 전 조회 2,547
15년 전 조회 5,531
15년 전 조회 1,497
15년 전 조회 4,261
15년 전 조회 1,387
15년 전 조회 1,692
15년 전 조회 1,654
15년 전 조회 1,642
15년 전 조회 1,145
15년 전 조회 1,392
15년 전 조회 1,531
15년 전 조회 1,445
15년 전 조회 2,163
15년 전 조회 1,311
15년 전 조회 1,372
15년 전 조회 917
15년 전 조회 1,022
15년 전 조회 994
15년 전 조회 947
15년 전 조회 900
15년 전 조회 962
15년 전 조회 1,106
15년 전 조회 1,121
15년 전 조회 2,642
15년 전 조회 971
15년 전 조회 1,628
15년 전 조회 1,495
15년 전 조회 1,621
15년 전 조회 1,321
15년 전 조회 1,816
15년 전 조회 632
15년 전 조회 1,120
15년 전 조회 1,087
15년 전 조회 2,870
15년 전 조회 3,195
15년 전 조회 1,868
15년 전 조회 1,380
15년 전 조회 1,995
15년 전 조회 1,502
15년 전 조회 1,093
15년 전 조회 3,790
15년 전 조회 1,444
15년 전 조회 1,536
15년 전 조회 2,768
15년 전 조회 1,460
15년 전 조회 4,189
15년 전 조회 2,400
15년 전 조회 3,183
15년 전 조회 1,788
15년 전 조회 2,019
15년 전 조회 1,323
15년 전 조회 4,402
15년 전 조회 3,983
15년 전 조회 3,802
15년 전 조회 5,227
15년 전 조회 3,438
15년 전 조회 1,828
15년 전 조회 1,778
15년 전 조회 1,927
15년 전 조회 1,616
15년 전 조회 4,016
15년 전 조회 2,938
15년 전 조회 2,110
15년 전 조회 1,696
15년 전 조회 1,932
15년 전 조회 2,416
16년 전 조회 1,489
16년 전 조회 2,423
16년 전 조회 1,756
16년 전 조회 1,856
16년 전 조회 1,511
16년 전 조회 2,203
16년 전 조회 1,534
16년 전 조회 1,948
16년 전 조회 2,133
16년 전 조회 1,205
16년 전 조회 1,275
16년 전 조회 1,925
16년 전 조회 5,364
16년 전 조회 1,667
16년 전 조회 2,179
16년 전 조회 2,369
16년 전 조회 1,526
16년 전 조회 1,330
16년 전 조회 2,246
16년 전 조회 4,962
16년 전 조회 2,234
16년 전 조회 2,892
16년 전 조회 1,770
16년 전 조회 3,624
16년 전 조회 4,462
16년 전 조회 3,126
16년 전 조회 2,370
16년 전 조회 2,463
16년 전 조회 2,703
16년 전 조회 2,199
16년 전 조회 5,534
16년 전 조회 3,391
16년 전 조회 1,384