수행시간 체크

· 15년 전 · 1809
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,676
15년 전 조회 2,568
15년 전 조회 5,549
15년 전 조회 1,519
15년 전 조회 4,284
15년 전 조회 1,412
15년 전 조회 1,710
15년 전 조회 1,676
15년 전 조회 1,672
15년 전 조회 1,169
15년 전 조회 1,411
15년 전 조회 1,549
15년 전 조회 1,466
15년 전 조회 2,179
15년 전 조회 1,330
15년 전 조회 1,394
15년 전 조회 944
15년 전 조회 1,043
15년 전 조회 1,008
15년 전 조회 966
15년 전 조회 922
15년 전 조회 981
15년 전 조회 1,128
15년 전 조회 1,142
15년 전 조회 2,660
15년 전 조회 991
15년 전 조회 1,646
15년 전 조회 1,519
15년 전 조회 1,643
15년 전 조회 1,339
15년 전 조회 1,838
15년 전 조회 654
15년 전 조회 1,138
15년 전 조회 1,111
15년 전 조회 2,881
15년 전 조회 3,220
15년 전 조회 1,884
15년 전 조회 1,401
15년 전 조회 2,013
15년 전 조회 1,521
15년 전 조회 1,112
15년 전 조회 3,807
15년 전 조회 1,461
15년 전 조회 1,556
15년 전 조회 2,782
15년 전 조회 1,475
15년 전 조회 4,201
15년 전 조회 2,416
15년 전 조회 3,203
15년 전 조회 1,810
15년 전 조회 2,037
15년 전 조회 1,347
15년 전 조회 4,423
15년 전 조회 3,997
15년 전 조회 3,822
15년 전 조회 5,245
15년 전 조회 3,466
15년 전 조회 1,849
15년 전 조회 1,796
15년 전 조회 1,944
15년 전 조회 1,636
15년 전 조회 4,034
15년 전 조회 2,958
15년 전 조회 2,127
16년 전 조회 1,716
16년 전 조회 1,953
16년 전 조회 2,434
16년 전 조회 1,512
16년 전 조회 2,442
16년 전 조회 1,777
16년 전 조회 1,880
16년 전 조회 1,524
16년 전 조회 2,222
16년 전 조회 1,555
16년 전 조회 1,969
16년 전 조회 2,150
16년 전 조회 1,225
16년 전 조회 1,296
16년 전 조회 1,942
16년 전 조회 5,385
16년 전 조회 1,686
16년 전 조회 2,203
16년 전 조회 2,390
16년 전 조회 1,544
16년 전 조회 1,351
16년 전 조회 2,269
16년 전 조회 4,989
16년 전 조회 2,255
16년 전 조회 2,915
16년 전 조회 1,791
16년 전 조회 3,645
16년 전 조회 4,484
16년 전 조회 3,141
16년 전 조회 2,394
16년 전 조회 2,483
16년 전 조회 2,725
16년 전 조회 2,215
16년 전 조회 5,557
16년 전 조회 3,407
16년 전 조회 1,402