수행시간 체크

· 15년 전 · 2336
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,220
15년 전 조회 3,103
15년 전 조회 6,108
15년 전 조회 2,057
15년 전 조회 4,825
15년 전 조회 1,940
15년 전 조회 2,218
15년 전 조회 2,205
15년 전 조회 2,204
15년 전 조회 1,678
15년 전 조회 1,936
15년 전 조회 2,060
15년 전 조회 2,014
15년 전 조회 2,707
15년 전 조회 1,851
15년 전 조회 1,962
15년 전 조회 1,457
15년 전 조회 1,561
15년 전 조회 1,549
15년 전 조회 1,487
15년 전 조회 1,451
15년 전 조회 1,488
15년 전 조회 1,637
15년 전 조회 1,667
15년 전 조회 3,177
15년 전 조회 1,499
15년 전 조회 2,156
15년 전 조회 2,008
15년 전 조회 2,171
15년 전 조회 1,876
15년 전 조회 2,376
15년 전 조회 1,184
15년 전 조회 1,658
15년 전 조회 1,630
15년 전 조회 3,429
15년 전 조회 3,764
15년 전 조회 2,459
15년 전 조회 1,906
15년 전 조회 2,548
15년 전 조회 2,026
15년 전 조회 1,647
15년 전 조회 4,336
15년 전 조회 1,987
15년 전 조회 2,078
15년 전 조회 3,330
15년 전 조회 2,036
15년 전 조회 4,732
15년 전 조회 2,923
15년 전 조회 3,722
15년 전 조회 2,337
15년 전 조회 2,575
15년 전 조회 1,866
16년 전 조회 4,922
16년 전 조회 4,544
16년 전 조회 4,334
16년 전 조회 5,753
16년 전 조회 3,982
16년 전 조회 2,336
16년 전 조회 2,318
16년 전 조회 2,454
16년 전 조회 2,140
16년 전 조회 4,580
16년 전 조회 3,488
16년 전 조회 2,646
16년 전 조회 2,244
16년 전 조회 2,432
16년 전 조회 2,934
16년 전 조회 2,034
16년 전 조회 2,956
16년 전 조회 2,278
16년 전 조회 2,406
16년 전 조회 2,027
16년 전 조회 2,738
16년 전 조회 2,065
16년 전 조회 2,484
16년 전 조회 2,665
16년 전 조회 1,736
16년 전 조회 1,796
16년 전 조회 2,466
16년 전 조회 5,878
16년 전 조회 2,193
16년 전 조회 2,722
16년 전 조회 2,906
16년 전 조회 2,055
16년 전 조회 1,838
16년 전 조회 2,766
16년 전 조회 5,481
16년 전 조회 2,758
16년 전 조회 3,414
16년 전 조회 2,269
16년 전 조회 4,174
16년 전 조회 4,964
16년 전 조회 3,607
16년 전 조회 2,860
16년 전 조회 2,979
16년 전 조회 3,186
16년 전 조회 2,709
16년 전 조회 6,066
16년 전 조회 3,892
16년 전 조회 1,878