수행시간 체크

· 15년 전 · 2128
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,997
15년 전 조회 2,905
15년 전 조회 5,910
15년 전 조회 1,860
15년 전 조회 4,626
15년 전 조회 1,737
15년 전 조회 2,008
15년 전 조회 1,999
15년 전 조회 1,987
15년 전 조회 1,484
15년 전 조회 1,721
15년 전 조회 1,851
15년 전 조회 1,787
15년 전 조회 2,484
15년 전 조회 1,648
15년 전 조회 1,760
15년 전 조회 1,245
15년 전 조회 1,347
15년 전 조회 1,333
15년 전 조회 1,289
15년 전 조회 1,247
15년 전 조회 1,287
15년 전 조회 1,427
15년 전 조회 1,470
15년 전 조회 2,968
15년 전 조회 1,299
15년 전 조회 1,957
15년 전 조회 1,838
15년 전 조회 1,965
15년 전 조회 1,664
15년 전 조회 2,170
15년 전 조회 974
15년 전 조회 1,441
15년 전 조회 1,420
15년 전 조회 3,198
15년 전 조회 3,570
15년 전 조회 2,248
15년 전 조회 1,710
15년 전 조회 2,319
15년 전 조회 1,811
15년 전 조회 1,435
15년 전 조회 4,126
15년 전 조회 1,785
15년 전 조회 1,853
15년 전 조회 3,133
15년 전 조회 1,821
15년 전 조회 4,518
15년 전 조회 2,722
15년 전 조회 3,503
15년 전 조회 2,129
15년 전 조회 2,364
15년 전 조회 1,656
15년 전 조회 4,709
15년 전 조회 4,347
16년 전 조회 4,154
16년 전 조회 5,552
16년 전 조회 3,777
16년 전 조회 2,145
16년 전 조회 2,099
16년 전 조회 2,242
16년 전 조회 1,935
16년 전 조회 4,369
16년 전 조회 3,278
16년 전 조회 2,439
16년 전 조회 2,029
16년 전 조회 2,226
16년 전 조회 2,732
16년 전 조회 1,803
16년 전 조회 2,739
16년 전 조회 2,060
16년 전 조회 2,198
16년 전 조회 1,840
16년 전 조회 2,537
16년 전 조회 1,855
16년 전 조회 2,279
16년 전 조회 2,432
16년 전 조회 1,531
16년 전 조회 1,599
16년 전 조회 2,247
16년 전 조회 5,664
16년 전 조회 1,963
16년 전 조회 2,487
16년 전 조회 2,682
16년 전 조회 1,845
16년 전 조회 1,622
16년 전 조회 2,554
16년 전 조회 5,269
16년 전 조회 2,545
16년 전 조회 3,206
16년 전 조회 2,069
16년 전 조회 3,940
16년 전 조회 4,774
16년 전 조회 3,411
16년 전 조회 2,646
16년 전 조회 2,759
16년 전 조회 2,990
16년 전 조회 2,507
16년 전 조회 5,871
16년 전 조회 3,693
16년 전 조회 1,680