수행시간 체크

· 15년 전 · 2281
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,172
15년 전 조회 3,061
15년 전 조회 6,063
15년 전 조회 2,014
15년 전 조회 4,786
15년 전 조회 1,900
15년 전 조회 2,174
15년 전 조회 2,168
15년 전 조회 2,154
15년 전 조회 1,643
15년 전 조회 1,887
15년 전 조회 2,011
15년 전 조회 1,972
15년 전 조회 2,666
15년 전 조회 1,820
15년 전 조회 1,915
15년 전 조회 1,411
15년 전 조회 1,517
15년 전 조회 1,514
15년 전 조회 1,448
15년 전 조회 1,413
15년 전 조회 1,441
15년 전 조회 1,601
15년 전 조회 1,617
15년 전 조회 3,125
15년 전 조회 1,457
15년 전 조회 2,102
15년 전 조회 1,965
15년 전 조회 2,116
15년 전 조회 1,825
15년 전 조회 2,331
15년 전 조회 1,126
15년 전 조회 1,615
15년 전 조회 1,589
15년 전 조회 3,377
15년 전 조회 3,722
15년 전 조회 2,412
15년 전 조회 1,868
15년 전 조회 2,488
15년 전 조회 1,973
15년 전 조회 1,597
15년 전 조회 4,282
15년 전 조회 1,938
15년 전 조회 2,018
15년 전 조회 3,280
15년 전 조회 1,984
15년 전 조회 4,693
15년 전 조회 2,875
15년 전 조회 3,681
15년 전 조회 2,282
15년 전 조회 2,521
15년 전 조회 1,825
15년 전 조회 4,889
16년 전 조회 4,497
16년 전 조회 4,292
16년 전 조회 5,717
16년 전 조회 3,936
16년 전 조회 2,289
16년 전 조회 2,257
16년 전 조회 2,408
16년 전 조회 2,107
16년 전 조회 4,535
16년 전 조회 3,432
16년 전 조회 2,598
16년 전 조회 2,196
16년 전 조회 2,395
16년 전 조회 2,900
16년 전 조회 1,988
16년 전 조회 2,904
16년 전 조회 2,238
16년 전 조회 2,358
16년 전 조회 1,984
16년 전 조회 2,698
16년 전 조회 2,011
16년 전 조회 2,437
16년 전 조회 2,617
16년 전 조회 1,689
16년 전 조회 1,744
16년 전 조회 2,412
16년 전 조회 5,833
16년 전 조회 2,142
16년 전 조회 2,664
16년 전 조회 2,851
16년 전 조회 2,007
16년 전 조회 1,798
16년 전 조회 2,715
16년 전 조회 5,431
16년 전 조회 2,702
16년 전 조회 3,356
16년 전 조회 2,226
16년 전 조회 4,106
16년 전 조회 4,909
16년 전 조회 3,552
16년 전 조회 2,808
16년 전 조회 2,924
16년 전 조회 3,138
16년 전 조회 2,656
16년 전 조회 6,002
16년 전 조회 3,831
16년 전 조회 1,830