수행시간 체크

· 15년 전 · 1786
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,657
15년 전 조회 2,545
15년 전 조회 5,530
15년 전 조회 1,496
15년 전 조회 4,258
15년 전 조회 1,386
15년 전 조회 1,690
15년 전 조회 1,651
15년 전 조회 1,640
15년 전 조회 1,142
15년 전 조회 1,392
15년 전 조회 1,528
15년 전 조회 1,443
15년 전 조회 2,161
15년 전 조회 1,306
15년 전 조회 1,369
15년 전 조회 916
15년 전 조회 1,020
15년 전 조회 992
15년 전 조회 947
15년 전 조회 898
15년 전 조회 962
15년 전 조회 1,103
15년 전 조회 1,118
15년 전 조회 2,641
15년 전 조회 969
15년 전 조회 1,626
15년 전 조회 1,493
15년 전 조회 1,620
15년 전 조회 1,319
15년 전 조회 1,815
15년 전 조회 631
15년 전 조회 1,118
15년 전 조회 1,084
15년 전 조회 2,869
15년 전 조회 3,192
15년 전 조회 1,867
15년 전 조회 1,378
15년 전 조회 1,993
15년 전 조회 1,499
15년 전 조회 1,092
15년 전 조회 3,790
15년 전 조회 1,443
15년 전 조회 1,532
15년 전 조회 2,766
15년 전 조회 1,458
15년 전 조회 4,187
15년 전 조회 2,396
15년 전 조회 3,180
15년 전 조회 1,787
15년 전 조회 2,018
15년 전 조회 1,320
15년 전 조회 4,401
15년 전 조회 3,982
15년 전 조회 3,801
15년 전 조회 5,226
15년 전 조회 3,435
15년 전 조회 1,827
15년 전 조회 1,777
15년 전 조회 1,926
15년 전 조회 1,613
15년 전 조회 4,014
15년 전 조회 2,934
15년 전 조회 2,110
15년 전 조회 1,695
15년 전 조회 1,928
15년 전 조회 2,416
16년 전 조회 1,489
16년 전 조회 2,422
16년 전 조회 1,754
16년 전 조회 1,856
16년 전 조회 1,509
16년 전 조회 2,201
16년 전 조회 1,532
16년 전 조회 1,947
16년 전 조회 2,131
16년 전 조회 1,204
16년 전 조회 1,275
16년 전 조회 1,924
16년 전 조회 5,362
16년 전 조회 1,664
16년 전 조회 2,175
16년 전 조회 2,367
16년 전 조회 1,525
16년 전 조회 1,328
16년 전 조회 2,246
16년 전 조회 4,960
16년 전 조회 2,232
16년 전 조회 2,890
16년 전 조회 1,770
16년 전 조회 3,622
16년 전 조회 4,458
16년 전 조회 3,124
16년 전 조회 2,368
16년 전 조회 2,460
16년 전 조회 2,701
16년 전 조회 2,198
16년 전 조회 5,532
16년 전 조회 3,390
16년 전 조회 1,383