수행시간 체크

· 15년 전 · 1782
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,650
15년 전 조회 2,538
15년 전 조회 5,518
15년 전 조회 1,488
15년 전 조회 4,247
15년 전 조회 1,379
15년 전 조회 1,677
15년 전 조회 1,644
15년 전 조회 1,634
15년 전 조회 1,133
15년 전 조회 1,383
15년 전 조회 1,520
15년 전 조회 1,431
15년 전 조회 2,154
15년 전 조회 1,298
15년 전 조회 1,356
15년 전 조회 908
15년 전 조회 1,010
15년 전 조회 978
15년 전 조회 943
15년 전 조회 891
15년 전 조회 956
15년 전 조회 1,096
15년 전 조회 1,110
15년 전 조회 2,632
15년 전 조회 961
15년 전 조회 1,615
15년 전 조회 1,487
15년 전 조회 1,611
15년 전 조회 1,309
15년 전 조회 1,801
15년 전 조회 620
15년 전 조회 1,112
15년 전 조회 1,075
15년 전 조회 2,865
15년 전 조회 3,185
15년 전 조회 1,857
15년 전 조회 1,369
15년 전 조회 1,988
15년 전 조회 1,486
15년 전 조회 1,090
15년 전 조회 3,783
15년 전 조회 1,435
15년 전 조회 1,523
15년 전 조회 2,754
15년 전 조회 1,448
15년 전 조회 4,177
15년 전 조회 2,388
15년 전 조회 3,171
15년 전 조회 1,783
15년 전 조회 2,010
15년 전 조회 1,312
15년 전 조회 4,394
15년 전 조회 3,974
15년 전 조회 3,790
15년 전 조회 5,211
15년 전 조회 3,428
15년 전 조회 1,812
15년 전 조회 1,768
15년 전 조회 1,918
15년 전 조회 1,607
15년 전 조회 4,008
15년 전 조회 2,923
15년 전 조회 2,102
15년 전 조회 1,684
15년 전 조회 1,918
15년 전 조회 2,404
15년 전 조회 1,483
15년 전 조회 2,416
16년 전 조회 1,750
16년 전 조회 1,851
16년 전 조회 1,498
16년 전 조회 2,190
16년 전 조회 1,526
16년 전 조회 1,939
16년 전 조회 2,129
16년 전 조회 1,197
16년 전 조회 1,266
16년 전 조회 1,912
16년 전 조회 5,354
16년 전 조회 1,655
16년 전 조회 2,166
16년 전 조회 2,362
16년 전 조회 1,520
16년 전 조회 1,322
16년 전 조회 2,234
16년 전 조회 4,952
16년 전 조회 2,222
16년 전 조회 2,881
16년 전 조회 1,758
16년 전 조회 3,614
16년 전 조회 4,451
16년 전 조회 3,116
16년 전 조회 2,361
16년 전 조회 2,452
16년 전 조회 2,693
16년 전 조회 2,183
16년 전 조회 5,523
16년 전 조회 3,383
16년 전 조회 1,373