수행시간 체크

· 15년 전 · 2314
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년 전 조회 3,206
15년 전 조회 3,089
15년 전 조회 6,091
15년 전 조회 2,048
15년 전 조회 4,807
15년 전 조회 1,927
15년 전 조회 2,205
15년 전 조회 2,192
15년 전 조회 2,194
15년 전 조회 1,668
15년 전 조회 1,913
15년 전 조회 2,041
15년 전 조회 2,001
15년 전 조회 2,691
15년 전 조회 1,836
15년 전 조회 1,941
15년 전 조회 1,440
15년 전 조회 1,545
15년 전 조회 1,539
15년 전 조회 1,475
15년 전 조회 1,436
15년 전 조회 1,474
15년 전 조회 1,624
15년 전 조회 1,653
15년 전 조회 3,160
15년 전 조회 1,485
15년 전 조회 2,134
15년 전 조회 1,990
15년 전 조회 2,148
15년 전 조회 1,859
15년 전 조회 2,358
15년 전 조회 1,163
15년 전 조회 1,634
15년 전 조회 1,609
15년 전 조회 3,410
15년 전 조회 3,749
15년 전 조회 2,442
15년 전 조회 1,891
15년 전 조회 2,522
15년 전 조회 2,008
15년 전 조회 1,624
15년 전 조회 4,319
15년 전 조회 1,974
15년 전 조회 2,050
15년 전 조회 3,310
15년 전 조회 2,016
15년 전 조회 4,714
15년 전 조회 2,904
15년 전 조회 3,708
15년 전 조회 2,315
15년 전 조회 2,559
15년 전 조회 1,847
15년 전 조회 4,911
16년 전 조회 4,526
16년 전 조회 4,319
16년 전 조회 5,743
16년 전 조회 3,970
16년 전 조회 2,321
16년 전 조회 2,298
16년 전 조회 2,437
16년 전 조회 2,136
16년 전 조회 4,562
16년 전 조회 3,463
16년 전 조회 2,626
16년 전 조회 2,221
16년 전 조회 2,421
16년 전 조회 2,924
16년 전 조회 2,023
16년 전 조회 2,935
16년 전 조회 2,266
16년 전 조회 2,388
16년 전 조회 2,009
16년 전 조회 2,722
16년 전 조회 2,049
16년 전 조회 2,466
16년 전 조회 2,647
16년 전 조회 1,717
16년 전 조회 1,777
16년 전 조회 2,449
16년 전 조회 5,863
16년 전 조회 2,177
16년 전 조회 2,702
16년 전 조회 2,881
16년 전 조회 2,036
16년 전 조회 1,826
16년 전 조회 2,750
16년 전 조회 5,466
16년 전 조회 2,740
16년 전 조회 3,395
16년 전 조회 2,255
16년 전 조회 4,155
16년 전 조회 4,941
16년 전 조회 3,592
16년 전 조회 2,848
16년 전 조회 2,963
16년 전 조회 3,170
16년 전 조회 2,691
16년 전 조회 6,045
16년 전 조회 3,871
16년 전 조회 1,862