수행시간 체크

· 15년 전 · 1832
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,698
15년 전 조회 2,589
15년 전 조회 5,578
15년 전 조회 1,540
15년 전 조회 4,308
15년 전 조회 1,435
15년 전 조회 1,730
15년 전 조회 1,701
15년 전 조회 1,691
15년 전 조회 1,192
15년 전 조회 1,439
15년 전 조회 1,567
15년 전 조회 1,491
15년 전 조회 2,203
15년 전 조회 1,351
15년 전 조회 1,418
15년 전 조회 971
15년 전 조회 1,061
15년 전 조회 1,034
15년 전 조회 986
15년 전 조회 938
15년 전 조회 1,009
15년 전 조회 1,148
15년 전 조회 1,159
15년 전 조회 2,692
15년 전 조회 1,013
15년 전 조회 1,665
15년 전 조회 1,531
15년 전 조회 1,665
15년 전 조회 1,366
15년 전 조회 1,861
15년 전 조회 674
15년 전 조회 1,162
15년 전 조회 1,128
15년 전 조회 2,917
15년 전 조회 3,237
15년 전 조회 1,908
15년 전 조회 1,419
15년 전 조회 2,031
15년 전 조회 1,548
15년 전 조회 1,144
15년 전 조회 3,833
15년 전 조회 1,483
15년 전 조회 1,580
15년 전 조회 2,801
15년 전 조회 1,500
15년 전 조회 4,230
15년 전 조회 2,445
15년 전 조회 3,220
15년 전 조회 1,833
15년 전 조회 2,063
15년 전 조회 1,370
15년 전 조회 4,439
15년 전 조회 4,024
15년 전 조회 3,844
15년 전 조회 5,264
15년 전 조회 3,492
15년 전 조회 1,870
15년 전 조회 1,813
15년 전 조회 1,958
15년 전 조회 1,662
15년 전 조회 4,057
15년 전 조회 2,984
15년 전 조회 2,151
16년 전 조회 1,737
16년 전 조회 1,970
16년 전 조회 2,459
16년 전 조회 1,530
16년 전 조회 2,464
16년 전 조회 1,800
16년 전 조회 1,902
16년 전 조회 1,542
16년 전 조회 2,248
16년 전 조회 1,574
16년 전 조회 1,989
16년 전 조회 2,174
16년 전 조회 1,246
16년 전 조회 1,316
16년 전 조회 1,962
16년 전 조회 5,403
16년 전 조회 1,707
16년 전 조회 2,228
16년 전 조회 2,419
16년 전 조회 1,564
16년 전 조회 1,369
16년 전 조회 2,290
16년 전 조회 5,004
16년 전 조회 2,276
16년 전 조회 2,931
16년 전 조회 1,815
16년 전 조회 3,662
16년 전 조회 4,506
16년 전 조회 3,157
16년 전 조회 2,414
16년 전 조회 2,502
16년 전 조회 2,746
16년 전 조회 2,237
16년 전 조회 5,578
16년 전 조회 3,428
16년 전 조회 1,422