수행시간 체크

· 15년 전 · 2125
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,993
15년 전 조회 2,902
15년 전 조회 5,905
15년 전 조회 1,852
15년 전 조회 4,622
15년 전 조회 1,729
15년 전 조회 2,001
15년 전 조회 1,987
15년 전 조회 1,982
15년 전 조회 1,472
15년 전 조회 1,709
15년 전 조회 1,850
15년 전 조회 1,780
15년 전 조회 2,480
15년 전 조회 1,645
15년 전 조회 1,757
15년 전 조회 1,240
15년 전 조회 1,341
15년 전 조회 1,328
15년 전 조회 1,284
15년 전 조회 1,238
15년 전 조회 1,283
15년 전 조회 1,418
15년 전 조회 1,463
15년 전 조회 2,960
15년 전 조회 1,298
15년 전 조회 1,951
15년 전 조회 1,832
15년 전 조회 1,963
15년 전 조회 1,655
15년 전 조회 2,164
15년 전 조회 964
15년 전 조회 1,439
15년 전 조회 1,417
15년 전 조회 3,190
15년 전 조회 3,562
15년 전 조회 2,240
15년 전 조회 1,703
15년 전 조회 2,315
15년 전 조회 1,804
15년 전 조회 1,430
15년 전 조회 4,120
15년 전 조회 1,780
15년 전 조회 1,845
15년 전 조회 3,131
15년 전 조회 1,818
15년 전 조회 4,513
15년 전 조회 2,717
15년 전 조회 3,497
15년 전 조회 2,126
15년 전 조회 2,358
15년 전 조회 1,650
15년 전 조회 4,704
15년 전 조회 4,342
16년 전 조회 4,150
16년 전 조회 5,547
16년 전 조회 3,769
16년 전 조회 2,143
16년 전 조회 2,090
16년 전 조회 2,236
16년 전 조회 1,929
16년 전 조회 4,362
16년 전 조회 3,269
16년 전 조회 2,435
16년 전 조회 2,019
16년 전 조회 2,216
16년 전 조회 2,721
16년 전 조회 1,800
16년 전 조회 2,731
16년 전 조회 2,053
16년 전 조회 2,191
16년 전 조회 1,828
16년 전 조회 2,532
16년 전 조회 1,847
16년 전 조회 2,272
16년 전 조회 2,429
16년 전 조회 1,523
16년 전 조회 1,588
16년 전 조회 2,241
16년 전 조회 5,658
16년 전 조회 1,958
16년 전 조회 2,482
16년 전 조회 2,678
16년 전 조회 1,839
16년 전 조회 1,617
16년 전 조회 2,549
16년 전 조회 5,264
16년 전 조회 2,538
16년 전 조회 3,197
16년 전 조회 2,065
16년 전 조회 3,936
16년 전 조회 4,767
16년 전 조회 3,404
16년 전 조회 2,640
16년 전 조회 2,753
16년 전 조회 2,983
16년 전 조회 2,498
16년 전 조회 5,865
16년 전 조회 3,685
16년 전 조회 1,675