수행시간 체크

· 15년 전 · 1812
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,678
15년 전 조회 2,573
15년 전 조회 5,557
15년 전 조회 1,522
15년 전 조회 4,286
15년 전 조회 1,419
15년 전 조회 1,713
15년 전 조회 1,680
15년 전 조회 1,675
15년 전 조회 1,172
15년 전 조회 1,417
15년 전 조회 1,550
15년 전 조회 1,471
15년 전 조회 2,184
15년 전 조회 1,335
15년 전 조회 1,398
15년 전 조회 946
15년 전 조회 1,049
15년 전 조회 1,014
15년 전 조회 969
15년 전 조회 925
15년 전 조회 983
15년 전 조회 1,133
15년 전 조회 1,148
15년 전 조회 2,668
15년 전 조회 999
15년 전 조회 1,651
15년 전 조회 1,521
15년 전 조회 1,645
15년 전 조회 1,343
15년 전 조회 1,848
15년 전 조회 657
15년 전 조회 1,143
15년 전 조회 1,112
15년 전 조회 2,885
15년 전 조회 3,221
15년 전 조회 1,888
15년 전 조회 1,405
15년 전 조회 2,015
15년 전 조회 1,523
15년 전 조회 1,119
15년 전 조회 3,811
15년 전 조회 1,466
15년 전 조회 1,559
15년 전 조회 2,785
15년 전 조회 1,478
15년 전 조회 4,204
15년 전 조회 2,420
15년 전 조회 3,203
15년 전 조회 1,813
15년 전 조회 2,045
15년 전 조회 1,353
15년 전 조회 4,426
15년 전 조회 4,001
15년 전 조회 3,825
15년 전 조회 5,247
15년 전 조회 3,472
15년 전 조회 1,855
15년 전 조회 1,801
15년 전 조회 1,945
15년 전 조회 1,644
15년 전 조회 4,039
15년 전 조회 2,966
15년 전 조회 2,137
16년 전 조회 1,723
16년 전 조회 1,956
16년 전 조회 2,441
16년 전 조회 1,517
16년 전 조회 2,446
16년 전 조회 1,781
16년 전 조회 1,886
16년 전 조회 1,533
16년 전 조회 2,230
16년 전 조회 1,561
16년 전 조회 1,974
16년 전 조회 2,157
16년 전 조회 1,230
16년 전 조회 1,299
16년 전 조회 1,945
16년 전 조회 5,389
16년 전 조회 1,689
16년 전 조회 2,209
16년 전 조회 2,394
16년 전 조회 1,551
16년 전 조회 1,355
16년 전 조회 2,278
16년 전 조회 4,990
16년 전 조회 2,259
16년 전 조회 2,920
16년 전 조회 1,797
16년 전 조회 3,649
16년 전 조회 4,489
16년 전 조회 3,141
16년 전 조회 2,400
16년 전 조회 2,486
16년 전 조회 2,729
16년 전 조회 2,217
16년 전 조회 5,559
16년 전 조회 3,412
16년 전 조회 1,407