수행시간 체크

· 15년 전 · 2291
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,186
15년 전 조회 3,070
15년 전 조회 6,072
15년 전 조회 2,028
15년 전 조회 4,796
15년 전 조회 1,909
15년 전 조회 2,184
15년 전 조회 2,178
15년 전 조회 2,171
15년 전 조회 1,653
15년 전 조회 1,895
15년 전 조회 2,023
15년 전 조회 1,982
15년 전 조회 2,674
15년 전 조회 1,828
15년 전 조회 1,923
15년 전 조회 1,425
15년 전 조회 1,530
15년 전 조회 1,523
15년 전 조회 1,458
15년 전 조회 1,426
15년 전 조회 1,455
15년 전 조회 1,611
15년 전 조회 1,631
15년 전 조회 3,138
15년 전 조회 1,474
15년 전 조회 2,118
15년 전 조회 1,974
15년 전 조회 2,130
15년 전 조회 1,838
15년 전 조회 2,340
15년 전 조회 1,141
15년 전 조회 1,623
15년 전 조회 1,599
15년 전 조회 3,390
15년 전 조회 3,736
15년 전 조회 2,424
15년 전 조회 1,879
15년 전 조회 2,500
15년 전 조회 1,986
15년 전 조회 1,606
15년 전 조회 4,297
15년 전 조회 1,948
15년 전 조회 2,030
15년 전 조회 3,286
15년 전 조회 1,997
15년 전 조회 4,701
15년 전 조회 2,884
15년 전 조회 3,690
15년 전 조회 2,292
15년 전 조회 2,536
15년 전 조회 1,831
15년 전 조회 4,898
16년 전 조회 4,506
16년 전 조회 4,304
16년 전 조회 5,724
16년 전 조회 3,945
16년 전 조회 2,297
16년 전 조회 2,270
16년 전 조회 2,417
16년 전 조회 2,117
16년 전 조회 4,546
16년 전 조회 3,444
16년 전 조회 2,609
16년 전 조회 2,205
16년 전 조회 2,404
16년 전 조회 2,910
16년 전 조회 1,999
16년 전 조회 2,916
16년 전 조회 2,250
16년 전 조회 2,369
16년 전 조회 1,993
16년 전 조회 2,706
16년 전 조회 2,022
16년 전 조회 2,448
16년 전 조회 2,629
16년 전 조회 1,701
16년 전 조회 1,755
16년 전 조회 2,426
16년 전 조회 5,844
16년 전 조회 2,156
16년 전 조회 2,679
16년 전 조회 2,861
16년 전 조회 2,020
16년 전 조회 1,814
16년 전 조회 2,729
16년 전 조회 5,451
16년 전 조회 2,724
16년 전 조회 3,373
16년 전 조회 2,238
16년 전 조회 4,122
16년 전 조회 4,924
16년 전 조회 3,568
16년 전 조회 2,825
16년 전 조회 2,940
16년 전 조회 3,153
16년 전 조회 2,670
16년 전 조회 6,023
16년 전 조회 3,849
16년 전 조회 1,841