수행시간 체크

· 15년 전 · 2266
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년 전 조회 3,160
15년 전 조회 3,048
15년 전 조회 6,051
15년 전 조회 2,001
15년 전 조회 4,780
15년 전 조회 1,884
15년 전 조회 2,163
15년 전 조회 2,158
15년 전 조회 2,140
15년 전 조회 1,626
15년 전 조회 1,876
15년 전 조회 1,996
15년 전 조회 1,962
15년 전 조회 2,655
15년 전 조회 1,810
15년 전 조회 1,904
15년 전 조회 1,400
15년 전 조회 1,497
15년 전 조회 1,508
15년 전 조회 1,437
15년 전 조회 1,400
15년 전 조회 1,428
15년 전 조회 1,594
15년 전 조회 1,601
15년 전 조회 3,112
15년 전 조회 1,443
15년 전 조회 2,088
15년 전 조회 1,948
15년 전 조회 2,105
15년 전 조회 1,814
15년 전 조회 2,315
15년 전 조회 1,113
15년 전 조회 1,606
15년 전 조회 1,584
15년 전 조회 3,369
15년 전 조회 3,707
15년 전 조회 2,402
15년 전 조회 1,858
15년 전 조회 2,468
15년 전 조회 1,958
15년 전 조회 1,580
15년 전 조회 4,269
15년 전 조회 1,923
15년 전 조회 2,007
15년 전 조회 3,269
15년 전 조회 1,973
15년 전 조회 4,685
15년 전 조회 2,867
15년 전 조회 3,664
15년 전 조회 2,267
15년 전 조회 2,502
15년 전 조회 1,816
15년 전 조회 4,875
15년 전 조회 4,485
16년 전 조회 4,281
16년 전 조회 5,708
16년 전 조회 3,927
16년 전 조회 2,281
16년 전 조회 2,246
16년 전 조회 2,397
16년 전 조회 2,096
16년 전 조회 4,521
16년 전 조회 3,422
16년 전 조회 2,590
16년 전 조회 2,182
16년 전 조회 2,384
16년 전 조회 2,882
16년 전 조회 1,977
16년 전 조회 2,895
16년 전 조회 2,224
16년 전 조회 2,344
16년 전 조회 1,970
16년 전 조회 2,687
16년 전 조회 2,000
16년 전 조회 2,424
16년 전 조회 2,596
16년 전 조회 1,667
16년 전 조회 1,731
16년 전 조회 2,405
16년 전 조회 5,817
16년 전 조회 2,132
16년 전 조회 2,654
16년 전 조회 2,832
16년 전 조회 1,999
16년 전 조회 1,785
16년 전 조회 2,703
16년 전 조회 5,418
16년 전 조회 2,690
16년 전 조회 3,348
16년 전 조회 2,215
16년 전 조회 4,097
16년 전 조회 4,897
16년 전 조회 3,545
16년 전 조회 2,798
16년 전 조회 2,914
16년 전 조회 3,128
16년 전 조회 2,641
16년 전 조회 5,995
16년 전 조회 3,818
16년 전 조회 1,821