수행시간 체크

· 15년 전 · 2048
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,922
15년 전 조회 2,844
15년 전 조회 5,846
15년 전 조회 1,762
15년 전 조회 4,576
15년 전 조회 1,659
15년 전 조회 1,927
15년 전 조회 1,907
15년 전 조회 1,900
15년 전 조회 1,391
15년 전 조회 1,642
15년 전 조회 1,791
15년 전 조회 1,698
15년 전 조회 2,410
15년 전 조회 1,571
15년 전 조회 1,696
15년 전 조회 1,168
15년 전 조회 1,272
15년 전 조회 1,255
15년 전 조회 1,215
15년 전 조회 1,156
15년 전 조회 1,202
15년 전 조회 1,348
15년 전 조회 1,385
15년 전 조회 2,890
15년 전 조회 1,216
15년 전 조회 1,875
15년 전 조회 1,753
15년 전 조회 1,874
15년 전 조회 1,580
15년 전 조회 2,073
15년 전 조회 889
15년 전 조회 1,355
15년 전 조회 1,331
15년 전 조회 3,112
15년 전 조회 3,500
15년 전 조회 2,181
15년 전 조회 1,620
15년 전 조회 2,242
15년 전 조회 1,732
15년 전 조회 1,356
15년 전 조회 4,041
15년 전 조회 1,707
15년 전 조회 1,777
15년 전 조회 3,069
15년 전 조회 1,762
15년 전 조회 4,437
15년 전 조회 2,641
15년 전 조회 3,421
15년 전 조회 2,049
15년 전 조회 2,279
15년 전 조회 1,562
15년 전 조회 4,629
15년 전 조회 4,284
15년 전 조회 4,084
15년 전 조회 5,471
15년 전 조회 3,706
15년 전 조회 2,068
16년 전 조회 2,019
16년 전 조회 2,161
16년 전 조회 1,866
16년 전 조회 4,305
16년 전 조회 3,192
16년 전 조회 2,362
16년 전 조회 1,945
16년 전 조회 2,151
16년 전 조회 2,653
16년 전 조회 1,731
16년 전 조회 2,654
16년 전 조회 1,980
16년 전 조회 2,112
16년 전 조회 1,759
16년 전 조회 2,454
16년 전 조회 1,779
16년 전 조회 2,197
16년 전 조회 2,360
16년 전 조회 1,451
16년 전 조회 1,518
16년 전 조회 2,167
16년 전 조회 5,587
16년 전 조회 1,886
16년 전 조회 2,412
16년 전 조회 2,607
16년 전 조회 1,761
16년 전 조회 1,551
16년 전 조회 2,469
16년 전 조회 5,181
16년 전 조회 2,457
16년 전 조회 3,121
16년 전 조회 1,989
16년 전 조회 3,858
16년 전 조회 4,694
16년 전 조회 3,341
16년 전 조회 2,583
16년 전 조회 2,673
16년 전 조회 2,919
16년 전 조회 2,425
16년 전 조회 5,810
16년 전 조회 3,613
16년 전 조회 1,604